首页 >> 大全

web自动化之iframe页面切换

2023-10-18 大全 32 作者:考证青年

一、切换方式

原理:页面会进行一层一层的嵌套,只有切换到嵌套的页面,才可以定位到页面里的标签属性等,一般情况不会超过三层,通常最多一层,可能的话有平行的。

# 1、通过name属性进行定位,前提是iframe有name属性
driver.switch_to.frame("login_frame")# 2、通过iframe索引去切换,注意iframe层级关系
driver.switch_to.frame(1)# 3、通过元素去定位,先找到要定位的iframe元素,然后再作为参数传入
iframe = driver.find_element("xpath","//iframe[@id='login_frame']")
driver.switch_to.frame(iframe)# 扩展:
# 关于进入iframe页面怎么退回到主页面
driver.switch_to.default_content()
# 关于进入iframe页面怎么退回到父级的iframe
driver.switch_to.parent_frame()

二、代码示例

_自动切换页面快捷键_切换页面自动换输入法

"""
举例:已QQ邮箱为例
"""
import time
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get("https://mail.qq.com/")
driver.maximize_window()# 1、通过name属性进行定位,前提是iframe有name属性
# driver.switch_to.frame("login_frame")# 2、通过iframe索引去切换,注意iframe层级关系
# driver.switch_to.frame(1)# 3、通过元素去定位,先找到要定位的iframe元素,然后再作为参数传入【常用】
iframe = driver.find_element("xpath","//iframe[@id='login_frame']")
driver.switch_to.frame(iframe)# 点击账号密码登录
driver.find_element("xpath","//a[text()='帐号密码登录']").click()# 输入账号
driver.find_element(By.ID,"u").send_keys("username")# 输入密码
driver.find_element(By.ID,"p").send_keys("password")# 点击登录
driver.find_element("xpath","//input[@id='login_button']").click()# 强制等待5s
time.sleep(5)# 退出浏览器
driver.quit()

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了