解决selenium.common.exceptions.NoSuchElementException:的问题

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

1. 用selenium点击某个按钮,然后生成了一个新的标签页(网页)这个时候你去定位这个新的标签页(网页)里面的标签不管用你用什么去定位都定位不到,因为在你的视角浏览器会自动帮你跳转到第二个标签页,但是selenium它还在第一个标签页,然后就变成了你写你的不管selenium什么事了。所以要用到browser.switch_to.window(browser.window_handles[1])需要注意的是window_handles的索引是从0开始的。

解决selenium.common.exceptions.NoSuchElementException:的问题,selenium,测试工具,python

 2. 页面还没加载出来代码就执行完了,这就需要用延时定位或者设置循环还可以用sleep等,方法都挺简单,就不介绍了了。

3. 复制完整XPATH看看里面有没有tbody 标签,这个一般是浏览器加上去的,把这个标签去掉

比如/html/body/div[1]/tbody/div[2]/div 改成 /html/body/div[1]/div[2]/div 就好了

4. 切换Frame,有一种节点叫做iframe,也就是子Frame相当于页面的子页面,他的结构和外部网页的结构完全一致。Selenium打开一个页面后默认是Frame里操作,此时页面如果有子Frame也就是iframe,他是不能获取子Frame里的节点的这个时候就可以用switch_to.frame方法切换Frame。

browser.switch_to.frame() #切换到子
browser.switch_to.parent_frame() #切换到父

5. 动态ID文章来源地址https://www.toymoban.com/news/detail-567716.html

到了这里,关于解决selenium.common.exceptions.NoSuchElementException:的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 解决:selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ execu

    运行爬虫代码出现上面的bug bug详细信息如下  解决方法 如下 1.先打开chrome 输入 “chrome://version/”来查看chrome版本 如图我的是96   2.然后访问此网站  http://chromedriver.storage.googleapis.com/index.html   然后选择合适版本的driver   我这边是windows版本的系统所以下载  win32版本的压缩

    2024年02月16日
    浏览(45)
  • 已解决selenium.common.exceptions.TimeoutException: Message: script timeout

    已解决(selenium模块操作浏览器报错)selenium.common.exceptions.TimeoutException: Message: script timeout 粉丝群里面的一个粉丝用selenium模块操作浏览器爬取网页数据,但是发生了报错(跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴

    2024年01月15日
    浏览(39)
  • 软件测试|解析selenium.common.exceptions.ElementClickInterceptedException错误及解决方法

    导言 在自动化测试中,Selenium是一个广泛使用的工具,用于模拟用户在网页上的操作。然而,有时候在执行点击操作时,可能会遇到 ElementClickInterceptedException 异常,这可能是由于多种原因导致的。本文将深入探讨这个错误的原因,并提供解决方案示例,帮助大家更好地处理这

    2024年02月03日
    浏览(43)
  • 【报错解决】selenium.common.exceptions.WebDriverException: Message: invalid argument

    在做Web自动化测试的实验报告的时候遇到一个报错。 运行代码: 报错: selenium.common.exceptions.WebDriverException: Message: invalid argument (Session info: chrome=113.0.5672.92) (Driver info: chromedriver=113.0.5672.63 (0e1a4471d5ae5bf128b1bd8f4d627c8cbd55f70c-refs/branch-heads/5672@{#912}),platform=Windows NT 10.0.19044 x86_64) 这

    2024年02月05日
    浏览(46)
  • 解决selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted

    用selenium爬数据的时候,明明每一步点击都加了WebDriverWait,但还是爬一会儿就显示如下错误: 这里一定要注意后面的这句 也就是说我们想点击的按钮没点成,而是被这个覆盖了。 查资料得知: blockUI 是一个 JavaScript 库,用于创建可定制的页面遮罩和加载指示器。它提供了一

    2024年02月11日
    浏览(42)
  • 【python selenium报错】selenium.common.exceptions.WebDriverException: Message: <html> 三种解决方案!

    在运行python代码时遇到该问题解决方案三种(我是第三种才解决的,总结一句话:是代理ip的问题★★★): 一、重新安装selenium,可能是缺少某些文件 二、查看chrom的版本,在chrom驱动的官方网站中下载安装适配的版本(版本接近即可),并将其配置到系统环境下,具体步骤

    2024年02月11日
    浏览(56)
  • 已解决selenium.common.exceptions.WebDriverException: Message: invalid session id

    已解决selenium循环翻页抛出selenium.common.exceptions.WebDriverException: Message: invalid session id的正确解决方法,亲测有效!!! 粉丝群里面的一个小伙伴遇到问题跑来私信我,想用selenium循环翻页,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,

    2023年04月08日
    浏览(54)
  • selenium.common.exceptions.SessionNotCreatedException: Message: session not created 解决办法

    一、问题原因 报这个错是因为 当前浏览器的版本与 chromedriver.exe的版本不一致了。这个时候你需要先知道自己当前浏览器的版本 ,然后再去下载一个 chromedriver.exe的对应版就好了 二、解决办法 1、查看浏览器版本 帮助-关于Google Chrome https://registry.npmmirror.com/binary.html?path=chro

    2024年02月11日
    浏览(52)
  • 一文解决:selenium.common.exceptions.SessionNotCreatedException: Message: session not created

    你遇到的错误消息表明您正在使用的ChromeDriver的版本与您计算机上安装的Google Chrome版本不兼容。ChromeDriver是一个独立的可执行文件,WebDriver使用它来控制Chrome浏览器。要解决这个问题,您有几个可能的解决方案,具体介绍如下所示。 1.修改ChromeDriver的版本 此方法需要首先查

    2024年02月08日
    浏览(43)
  • 解决selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable报错

    这个错误是由Selenium WebDriver引起的,它表示一个元素无法与之交互。 这通常意味着Selenium无法模拟用户与该元素交互的方式,可能是由于以下原因之一: 元素被隐藏了,无法与之交互。 元素被覆盖了,无法与之交互。 元素不可见,无法与之交互。 页面还没有完全加载,元素

    2024年02月14日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包