第九篇--selenium Python API-iframe嵌套页面切换


在一些网页中经常会看到ifrmae/frame标签,iframe是嵌入式框架一般用来在已有的页面中嵌入另一个页面,当一个元素在iframe里时我们应该先切换到iframe里面。

一、API语法

1.进入iframe

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

self.driver.switch_to.frame(iframe)

2.释放/退出iframe

driver.switch_to_default_content()

二、代码实例

以咪咕阅读网站登录界面来实践iframe的切换,我们直接进入登录界面进行操作网址为http://www.cmread.com/u/tologin.do?preUrl=http%3A%2F%2Fwww.cmread.com%2Fu%2Findex

以下为HTML代码结构:

 

代码如下:

 

#author:命命
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.cmread.com/u/tologin.do?preUrl=http%3A%2F%2Fwww.cmread.com%2Fu%2Findex")
#通过contains函数,提取匹配特定文本的所有元素
frame = driver.find_element_by_xpath("//iframe[contains(@src,'https://wap.cmread.com/sso/auth?e_p=1&response_type=token')]")
#进入iframe页面
driver.switch_to.frame(frame)
#清除账号输入框并输入账号
driver.find_element_by_id("unameInput").clear()
driver.find_element_by_id("unameInput").send_keys("输入自己的用户名")
#清除密码输入框并输入密码
driver.find_element_by_id("pwdInput").clear()
driver.find_element_by_id("pwdInput").send_keys("输入自己的密码")
#点击登录按钮
driver.find_element_by_css_selector("input[name = 'login']").click()
#获取登录成功页面的用户名
success = driver.find_element_by_css_selector("span[title = '好的好的d']").text
print(success)
driver.quit()

 

运行结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM