Python3.x:selenium獲取iframe內嵌頁面的源碼


Python3.x:selenium獲取iframe內嵌頁面的源碼

前言

在一些網頁中經常會看到ifrmae/frame標簽,iframe是嵌入式框架一般用來在已有的頁面中嵌入另一個頁面,當一個元素在iframe里時我們應該先切換到iframe里面。

語法

1.進入iframe

iframe = self.driver.find_element_by_xpath("//iframe[contains(@src,'https://************/auth?e_p=1&response_type=token')]")

self.driver.switch_to.frame(iframe)

2.釋放/退出iframe

driver.switch_to_default_content()

實例代碼

# python3
# author lizm
# datetime 2018-01-27 10:00:00
'''
    Demo;selenium獲取iframe內嵌頁面源碼
    獲取select下拉選項    
'''
from selenium import webdriver

#打開瀏覽器(不彈出瀏覽器頁面)
driver = webdriver.PhantomJS()
#打開瀏覽器
#driver = webdriver.Chrome()
#最大化瀏覽器
#driver.maximize_window()
#打開頁面
driver.get("http://*************/center_tjbg.shtml")
#通過contains函數,提取匹配特定文本的所有元素
frame = driver.find_element_by_xpath("//iframe[contains(@src,'http://**************/cms-search/monthview.action?action=china&channelFidStr=e990411f19544e46be84333c25b63de6')]")
#進入iframe頁面
driver.switch_to.frame(frame)
#獲取select標簽
select = driver.find_element_by_id("channelFidStr")
# 獲取select里面的option標簽,注意使用find_elements
options_list=select.find_elements_by_tag_name('option')
# 遍歷option
for option in options_list:
    #獲取下拉框的value和text
    print ("Value is:%s  Text is:%s" %(option.get_attribute("value"),option.text))

#點擊查詢按鈕事件
#driver.find_element_by_css_selector("input[class = 'btn']").click()
#退出iframe
driver.switch_to_default_content()
driver.quit()

 

作者:整合俠
鏈接:http://www.cnblogs.com/lizm166/p/8367499.html
來源:博客園
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM