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()

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16774.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论