python - 如果它是使用python selenium动态创建的,如何切换到iframe
问题描述
在我的情况下,iframe 是在加载时动态创建的,有时会创建 2 个 iframe,有时会创建 3 个 iframe。我想得到最后一个 iframe。我试过了
iframe_list = driver.find_elements_by_tag_name("iframe")
length = len(iframe_list)
print(length)
length=length-1 // because switch_to.frame starts with 0
print(length)
driver.switch_to.frame(length) // not working
使用这个我无法访问这个 iframe 中的元素,我也尝试打印
print(driver.switch_to.frame(length)) // output None
解决方案
获取最后一个 iframe 元素。
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[-1])
或者将 [last()] 与 xpath 一起使用。
driver.switch_to.frame(driver.find_element_by_xpath("(//iframe)[last()]"))
推荐阅读
- python - Python:仅通过将数字保持在两个限制之间来减少数组
- flutter - 将比例变换添加到动画位置小部件颤动
- python-3.x - 从npy文件加载时如何将稀疏矩阵视为np数组?
- ios - 为什么其中一个动画没有激活?
- sequelize.js - 续集 findAll 方法,除了
- python - 在 SQL Server 中加密并在 Python / spark 中解密
- html - Bootstrap:是否可以在这样的列中包含行?
- reactjs - useDebounce 测试有时会失败,但有时不会
- c# - 无法使用 c# 订阅 WebSocket 上的特定频道
- selenium - 我如何通过 Selenium 进行操作:我的 Gmail 有两步身份验证,所以我想使用我的应用密码登录我的 gmail。我该如何使用 WebDriver?