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
來源:博客園
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。