Selenium报错:Element is not clickable at point的解决办法

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

最近在写Selenium Java脚本时遇到一个问题,登录进入系统之后,要点击左侧的一个菜单,但是执行到该语句时报下面的错误:

Firefox中报错如下:
org.openqa.selenium.ElementClickInterceptedException: Element

is not clickable at point (115,358) because another elementobscures it

错误的意思是:无法点击这个元素,因为被另一个div掩盖(obscure)住了。

Chrome 中报错如下:
org.openqa.selenium.WebDriverException: unknown error: Element

...

is not clickable at point (115, 358). Other element would receive the click:

...


(Session info: chrome=67.0.3396.99)

错误的意思是:无法点击这个元素,另外一个div元素接收了这个点击。

经分析调试,以下方法可以解决此类问题。
解决方法一:
思路:先使用invisibilityOf等待掩盖的div消失不见,再使用elementToBeClickable等待要点击的元素达到可点击的状态。

示例:

//要点击的左侧菜单元素
WebElement LeftMenu = driver.findElement(By.xpath("xpath"));

//掩盖的div元素
WebElement ObscureDiv = driver.findElement(By.xpath("//div[@class='el-loading-mask is-fullscreen el-loading-fade-leave-active el-loading-fade-leave-to']"));

//使用显示等待,等待掩盖的div消失
WebDriverWait wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.invisibilityOf(ObscureDiv));

//等待左侧菜单到可点击状态
wait.until(ExpectedConditions.elementToBeClickable(LeftMenu ));

//之后再执行点击
LeftMenu .click();
解决方法二:
思路:因为掩盖的div可能会在进行一些操作后,会消失,所以登录后执行一个页面刷新的操作,此div即可消失。

      再等待左侧菜单到可点击状态即可。

示例:

//登录之前的代码

//登录后加时间等待,并且进行一次页面刷新
Thread.sleep(3000);
driver.navigate().refresh();

//要点击的左侧菜单元素
WebElement LeftMenu = driver.findElement(By.xpath("xpath"));

//等待左侧菜单到可点击状态
WebDriverWait wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.elementToBeClickable(LeftMenu ));

//之后再执行点击
LeftMenu .click();

最后,绵薄之力 感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

Selenium报错:Element is not clickable at point的解决办法,selenium,chrome,firefox

 资料获取方式:

Selenium报错:Element is not clickable at point的解决办法,selenium,chrome,firefox

 文章来源地址https://www.toymoban.com/news/detail-757924.html

到了这里,关于Selenium报错:Element is not clickable at point的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序启动报错 app.js错误: ReferenceError: App is not defined at app.js;渲染层错误

    启动微信小程序时,控制台直接报错,完全启动不起来。通过搜索发现时本地调试库的问题,更换调试基础库版本后就可以正常启动了。 1.报错提示: 2.解决方法:修改调试基础库的版本

    2024年02月11日
    浏览(54)
  • python+selenium报错AttributeError: ‘WebDriver‘ NameError: name ‘By‘ is not defined

    python 3.10.1 selenium 4.4.3 旧版本导包:    新版本导包: 需要多导一个,否则By 是报错的 定位语句  

    2024年02月16日
    浏览(48)
  • [Bug0034] Git报错 cannot lock ref 'refs/heads/master': is at xxxx but expected xxx error: could not ...

    1、问题 error: update_ref failed for ref \\\'refs/heads/master\\\': cannot lock ref \\\'refs/heads/master\\\': is at 63654e79f7ae0f902731558b3ae6679a69db09e9 but expected ec20d6ffa52920358e54703f90100bedbca4c855 error: could not update refs/heads/master 2、场景 由于为了方便解决冲突获取到最新远程代码(并且本地有冲突代码不想要),直接删

    2024年02月16日
    浏览(51)
  • python selenium报错:Message: javascript error: arguments[0].click is not a function

      这是selenium比较常见的报错,所以记录一下解决方法,避免总是忘记。 代码示例: 分析原因 通过debug可以发现,click1并不是一个WebElement,而是一个list 解决方法: 所以把click1改成click1[0],就可以了    

    2024年02月15日
    浏览(47)
  • 一键解决WARNING: The repository located at mirrors .aliyun.com is not a trusted or secure host and is be

    这个错误提示是由于pip在下载软件包时,发现了一个不受信任的镜像源,因此默认情况下会忽略它。 WARNING: The repository located at mirrors .aliyun.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this waming an

    2024年02月07日
    浏览(51)
  • git 报错 protocol ‘https‘ is not supported解决

    报错原因:选择不了其他分支代码,甚至都看不到其他分支,我这边解决了两次报错,情况如下: 第一种报错: idea中刷新分支报错如下: Fetch Failed protocol \\\'\\\'https\\\' is not supported 话不多说,直接上 解决方案:  1:可以直接在idea命令窗中执行:git remote set-url origin 你的url 2.然后

    2024年02月06日
    浏览(62)
  • 解决Idea报错出现Git is not installed

    有时候打开Idea或者Android Studio时,会出现以下错误提示,这是idea的bug,无法识别git。 然后发现内置的git也不能识别项目的log信息了。 打开设置,选择Version Control-Git 点击Test 如果git目录没错的话,点击test以后下面会出现Git版本的提示。如果不能正确显示git的版本,说明目录不

    2024年02月11日
    浏览(53)
  • 报错“FirewallD is not running”怎么办,如何解决?

    一、报错详情 二、解决方法—开启防火墙步骤 步骤一:先通过命令查看一下防火墙的状态。  步骤二:开启防火墙。 步骤三:再次查看防火墙状态 在docker创建redis容器,在进行window访问redis容器端口进行绑定设置时,执行 firewall-cmd --zone=public --add-port=6379/tcp --permanent 进行防

    2024年02月02日
    浏览(40)
  • 解决 uniapp报错:TypeError: WebSocket is not a constructor

    这个错误让我的页面显示不出来, 白屏 ,错误信息如下: 首先要确认mqtt版本,我之前是4.+,后来改成3.0.0解决一部分问题 白屏是因为要条件编译,app端是“wx://”,h5端是\\\"ws://“” 这样白屏解决,但是 app端一直连接不上 ,可能是clientId的问题,我改了之后就完美接收到信息

    2024年02月16日
    浏览(70)
  • 解决浏览器 require is not defined 的报错问题

    在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错 require is not defined 。 这是因为 require 是node环境下的CommonJs,而 import 是浏览器环境下的ESModule。ESModule不认识require。 require 是node的一个私有的全局方法。 那就让打包出来的代码别有require,换句话说,

    2024年02月15日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包