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/')

# 调到 ifame
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
'''
相关推荐
pzx_0019 分钟前
【优化器】 随机梯度下降 SGD 详解
人工智能·python·算法
‎ദ്ദിᵔ.˛.ᵔ₎9 分钟前
模板template
开发语言·c++
大邳草民9 分钟前
Python 中 global 与 nonlocal 的语义与机制
开发语言·笔记·python
charlie11451419116 分钟前
通用GUI编程技术——图形渲染实战(二十九)——Direct2D架构与资源体系:GPU加速2D渲染入门
开发语言·c++·学习·架构·图形渲染·win32
历程里程碑20 分钟前
二叉树---二叉树的中序遍历
java·大数据·开发语言·elasticsearch·链表·搜索引擎·lua
程序员小远22 分钟前
软件测试用例总结
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
2501_9481142426 分钟前
技术解码:Gemini交互式模拟API与高负载网关的选型逻辑
人工智能·python·ai
无限进步_37 分钟前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
浅时光_c41 分钟前
12 指针
c语言·开发语言
AC赳赳老秦42 分钟前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw