Selenium 切换 frame/iframe

'''
环境:
Python 3.8
selenium==3.141.0
urllib3==1.26.19
'''
'''
说明:
driver.switch_to.frame() # 将当前定位的主体切换为frame/iframe表单的内嵌页面中
driver.switch_to.default_content() # 跳回最外层的页面
'''
# 判断元素是否在 frame/ifame 中

# 126 邮箱为例
# -*- coding: UTF-8 -*-

from selenium import webdriver
import time

# 谷歌浏览器位置
CHROME_PATH = r'xxx\\chrome.exe'
# 谷歌浏览器驱动地址
CHROMEDRIVER_PATH = r'xxx\\chromedriver.exe'

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
options.binary_location = CHROME_PATH
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)

driver.get('https://www.126.com/')

# 调到 iframe
# 方式一
iframes = driver.find_elements_by_tag_name('iframe')
print(len(iframes))
driver.switch_to.frame(iframes[0])

# 方式二
# 默认第一个 iframe
iframe = driver.find_element_by_tag_name('iframe')
driver.switch_to.frame(iframe)

element = driver.find_element_by_name('email')
element.send_keys('xiaoxiao')

# 跳回最外层的页面
driver.switch_to.default_content()
element = driver.find_element_by_link_text('注册新账号')
element.click()

time.sleep(10)
driver.quit()
'''
参考:
【web端自动化】如何判断页面元素是否嵌套在iframe里面
https://blog.csdn.net/lanniya152/article/details/124364417

python自动化测试selenium(四)切换页面、切换窗口
https://blog.csdn.net/u010835747/article/details/125501993

web自动化:4.2selenium如何实现iframe窗口的切换(3种方法)
https://blog.csdn.net/weixin_48415452/article/details/120035381

python+selenium(11)---操作id为动态变化的frame(iframe)
https://blog.csdn.net/wjgccsdn/article/details/113935626

Selenium之link_text和partial_link_text定位
https://blog.csdn.net/dpl12/article/details/102847074
'''
  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值