Selenium 解决html中的嵌套问题(xpath中存在iframe)

这篇具有很好参考价值的文章主要介绍了Selenium 解决html中的嵌套问题(xpath中存在iframe)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错类型:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“xpath”,“selector”:"/…

原因分析:

在已确定页面元素全部加载完成,并且确定xpath路径正确的情况下,可以考虑是否存在标签嵌套或者存在iframe标签的情况。
xpath定位iframe,selenium,python

iframe标签可以将一个HTML文档嵌入在一个HTML中显示,相比较frame标签里元素的直接定位,定位iframe里的元素时需要进入iframe框架(可以理解为<iframe>…</iframe>里所包含的内容是一个独立的页面)

解决方案:

在对iframe里的元素进行定位时,首先根据iframe标签的id转入该iframe框架,在进行后续操作,操作完成后返回主框架。文章来源地址https://www.toymoban.com/news/detail-530030.html

# 转入iframe
driver.switch_to.frame('iframepage') 
# 执行要进行的操作
xpath=driver.find_element_by_xpath('/html/body/form/table[2]/tbody[3]/tr[2]/td[2]/select')
select = Select(xpath)
select.select_by_visible_text("1")
# 返回主框架
driver.switch_to.default_content()  

到了这里,关于Selenium 解决html中的嵌套问题(xpath中存在iframe)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 项目中使用iframe引入html 解决路由错乱问题以及父子组件传值调用方法

    父组件 子组件: 方法一、通过子组件iframe1向父组件传值,再通过父组件向子组件iframe2传值可达到目的; 注意:模拟时 需要开启服务器,否则会出现跨域问题! 看图你应该就明白了 在项目中使用iframe引入html,引入的html中有路由跳转,当点击html页面中的路由跳转时,浏览器

    2024年02月01日
    浏览(49)
  • 解决iframe嵌套第三方网址不能访问

    第一种报错描述: Refused to display \\\'嵌套的网址\\\' in a frame because it set \\\'X-Frame-Options\\\' to \\\'sameorigin\\\'. 关于 X-Frame-Options : X-Frame-Options 是一个 HTTP 响应头部,用于防止网站被嵌入到其他网站的 iframe 中。该协议定义了一些选项,使网站可以控制在哪些网站中可以嵌入自己的内容,从而防

    2024年02月11日
    浏览(42)
  • 解决selenium的WebDriver object has no attribute ‘find_element_by_xpath‘问题

    解决selenium的WebDriver object has no attribute \\\'find_element_by_xpath’问题 在使用selenium操作浏览器时,常见的一种定位元素的方式就是Xpath定位。但有时候会出现WebDriver object has no attribute \\\'find_element_by_xpath’的错误提示,意思是WebDriver对象没有该方法。 这通常是因为引入selenium包时未正

    2024年02月10日
    浏览(48)
  • 解决appium或selenium使用时driver.find_element_by_xpath中间有删除线问题

            Darren洋在公司电脑搭建完成appium后准备运行appium2.0版本执行脚本时发现执行脚本中的driver.find_element_by_xpath中间有删除线,说明较高版本的appium及selenium中该方法已被弃用。         该问题解决办法为将driver.find_element_by_xpath()换成driver.find_element(By.XPATH,‘路径’)的形式

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

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

    2024年02月04日
    浏览(59)
  • selenium定位元素报错:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_xpath‘问题解决

    driver.find_element_by_方法名(”value”)变为 driver.find_element(By.方法名, “value”)

    2024年02月15日
    浏览(69)
  • vue项目关于iframe嵌套的页面,在切换tab标签时会被重新刷新的问题处理方案

    这两天工作中遇到一个这样的需求,切换tab标签时,要求对应的tab页面不刷新,但是项目中加入了一部分含有iframe的页面,在切换路由的过程中,如果使用keep-alive是达不到缓存ifram嵌套的页面效果的。 vue中的keep-alive 1.原理:vue 的缓存机制并 不是直接存储 DOM 结构 ,而是将

    2024年02月04日
    浏览(80)
  • 小程序使用webview嵌套H5中使用iframe真机无法跳转 wx.miniProgram.navigateTo等失效问题

    小程序使用webview嵌套H5真机无法跳转 wx.miniProgram.getEnv、wx.miniProgram.navigateTo等失效无响应问题分享 原因分析:由于页面使用了iframe导致在子页面中真机无法准确获取页面运行环境(开发者工具中无影响); 解决方案:在调用方法前加一个 parent. 在父页面中调用方法即可正常运

    2024年02月03日
    浏览(58)
  • XPath:学习使用XPath语法提取HTML/XML文档中的数据使用语法

    以下是一些XPath语法示例,用于提取HTML/XML文档中的数据: 选择元素: 选择所有p元素: //p 选择根元素: / 属性匹配: 选择class属性为\\\"example\\\"的div元素: //div[@class=\\\'example\\\'] 文本内容提取: 提取所有a元素的文本内容: //a/text() 提取第一个p元素的文本内容: //p[1]/text() 使用逻辑

    2024年02月11日
    浏览(43)
  • python+selenium使用xpath定位的问题

    python用selenium调chrome爬取网页信息遇到报错: 1.InvalidSelectorException: Message: invalid selector: The result of the xpath expression is [object Attr]. It should be an element 原因是selenium不支持从xpath中直接获取text文本信息。 xpath表达式修改为: 2.Message: no such element: Unable to locate element: xpath表达式一直

    2024年02月12日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包