解决selenium访问网页中多个iframe,导致无法锁定元素的问题

这篇具有很好参考价值的文章主要介绍了解决selenium访问网页中多个iframe,导致无法锁定元素的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决方法

  1. 获取全部的iframe列表
  2. 调试获取目标iframe
  3. 使用:browser.switch_to.frame(目标iframe)
  4. 退回到原有的状态:browser.switch_to.default_content()
# 进入另一个iframe
browser_iframe_list = browser.find_elements(By.CSS_SELECTOR, "iframe") # 这是全部的iframe
browser.switch_to.frame(browser_iframe_list[1])

# ==============
# 进行操作....
# ==============

browser.switch_to.default_content()  # 返回原有的iframe

问题解析

不同的iframe之间的元素无法被selenium锁定,因此需要通过人为调试,得到具体的iframe窗口,进入目标iframe后才能够进行元素的锁定,锁定后就得到目标内容,但是此时完成操作后需要使用browser.switch_to.default_content()退回到原有的iframe,才可以接着原有的逻辑进行操作文章来源地址https://www.toymoban.com/news/detail-836542.html

到了这里,关于解决selenium访问网页中多个iframe,导致无法锁定元素的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录ElasticSearch分片被锁定导致无法分配处理过程

    本篇文章记录最近ES做节点替换, 从shard 迁移过程中被锁定导致无法分配, 主shard正常 ,希望可以帮助其它人 failed to create shard,failed to obtain in-memory shard lock,ShardLockObtainFailedException 这次遇到的问题比较特殊,尝试过以下几种手段都没有恢复: _cluster/reroute手动分片shard 由于

    2024年02月05日
    浏览(33)
  • VMware虚拟机启动Ubuntu时报错:“另一个程序已锁定文件的一部分,进程无法访问”该怎样解决呢?

    宝子们有木有遇到这样的问题呀“另一个程序已锁定文件的一部分,进程无法访问”,跟着辣面子来解决这个问题吧 按照自己路径寻找 放心将它们删除 出现此文件是因为虚拟机在运行的时候,会锁定文件,防止被修改,如果系统突然崩溃、异常关机等,虚拟机尚未把已经锁

    2024年02月11日
    浏览(44)
  • Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

    之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫(2)-Selenium控制浏览器 Python爬虫(3)-Selenium结合pywin32模拟键盘操作 Python爬虫(4)-Seleni

    2024年02月04日
    浏览(34)
  • 网页无法访问怎么解决(已解决)

    今天在办公时,因为中间重启了一下电脑,等再打开网页的时候,显示的是网站无法访问,QQ还是在线可收发信息。 经过两个多小时的查阅方法,操作还是雷打不动的没变。也咨询了一些大佬,说是显然是浏览器代理,系统代理的问题。下面先说网上的方法,可能对你有用。

    2024年02月03日
    浏览(35)
  • 解决浏览器自动将http跳转至https导致无法访问的问题

    目录 解决方式 Chrome浏览器 Safari浏览器 Edge浏览器 注意事项 什么是HSTS? 写在最后         最近在宝塔面板申请免费的SSL证书后,部署证书的80端口下的网站可以通过https正常访问,但其他未部署证书的端口也被强制跳转至https请求,导致浏览器提示不安全从而无法访问。

    2024年02月03日
    浏览(74)
  • 在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?

    相信大家在使用selenium做网页自动化时,会遇到如下这样的一个场景: 在你使用get访问某一个网址时,会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而,很不幸,Alert类处理的结果就是没有结果,并不能够将这个弹出框关闭掉。 无法用处理alert的

    2024年02月10日
    浏览(39)
  • docker内部ip与内网其它ip网段冲突导致无法访问的解决方法

    宿主机和docker内部能互相访问非常正常,但docker内部访问外部网络内网其中一个网段172.18.0.x则无法访问。 由于docker是精简过的系统,需另外安装网络相关命令 首先更新apt-get,否则在apt-get install 命令时会报E: Unable to locate package xx错误 安装网络工具 安装ping和telnet 查看本机

    2024年02月08日
    浏览(39)
  • Python:用Selenium操纵网页,找不到iframe,可以用这个简单粗暴的方法,循环他

    很多时候用Selenium包操纵浏览器的时候,会遇到元素因为包含在某个莫名其妙的iframe里面,而无法定位的情况。 可以采用以下方法,通过循环遍历所有的iframe,定位到iframe后,再选取和操纵相应的元素。 直接上代码:

    2024年02月03日
    浏览(34)
  • 网站打不开域名无法访问是怎么回事?(网页无法访问域名被封暂停解析的解决方案)

    文章来源:三一博客 首发地址:网站打不开域名无法访问是怎么回事?(网页无法访问域名被封暂停解析的解决方案) - 知识库 - 0oD三一o0博客 近来三一遇到一个比较头疼的问题,日常更新博客网站(www.o0310o.com)的时候会遇到时而打不开网站,提示“域名解析错误请检查域

    2024年01月20日
    浏览(41)
  • ERR_UNSAFE_PORT浏览器安全问题导致无法访问的解决方案

    配置好web的https协议的服务器后,使用浏览器访问服务器的时候出现ERR_UNSAFE_PORT无法访问,如下图提示。 img src=“https://juejin.cn/ “点击并拖拽以移动”” style=“margin: auto” / 经过抓取报文分析,并没有抓到访问服务器的报文,定位发现是浏览器的保护机制自动拦截了请求,和

    2024年02月03日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包