当前位置: 首页 > 知识库问答 >
问题:

Selenium在Firefox中出现“元素在点上不可点击”错误,但在Chrome中工作

宋翔
2023-03-14

在Selenium中,我试图定位元素。但得到以下错误:

org.openqa.selenium.WebDriverException: Element is not clickable at point (1009.25, 448.183349609375). Other element would receive the click: <rect data-sdf-index="7" height="390" width="420" class="aw-relations-noeditable-area"></rect> (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 12 milliseconds

火狐中收到此错误。但它在Chrome浏览器中成功工作。有人有解决方案吗?

我已经尝试了这篇文章的帮助:-Selenium“元素在Firefox中的“点”错误,但无法获得结果。

我已经编写了以下代码:

public void createPortOnSelectedNode( String nodeName ) {
    ISingleLocator m_nodeContainer = m_nodePage.getNodeContainer();
    WebElement node = m_nodePage.getNode( m_nodeContainer, nodeName ).getElement();
    Actions action = new Actions(DefaultDriver.getWebDriver());
    action.moveToElement(node, 40, 0);
    action.click();
    action.perform();
}

共有2个答案

傅明知
2023-03-14

你试过用Javascript直接点击吗?在python中,我使用

driver.execute_script("arguments[0].click();", elt)

在Java中,它应该看起来像< code>executeScript...

楚鸿波
2023-03-14

在这种情况下会出现上述错误,其中webdriver脚本执行操作,但是您想要对其执行操作的元素没有正确加载到DOM中,即它在DOM树中的位置不固定(还要注意selenium能够执行它的操作,因为元素在DOM中是可用的,因此webdriver只查找DOM中元素的存在,而不查找它在DOM中的位置)

那么如何克服这个问题

   1.Give time to DOM to properly give positions to its element.

这可以通过以下方式实现:

1.Instead of performing operation's directly at the target area try to do some extra/false 
activity with webdriver which will give time for DOM to position all of his elements
2.apply Thread.sleep().
3. also if you are running your test in smaller window size then set the size to maximum it 
will also help

我没有包括任何代码,因为您在问题中提到的链接包含了大量与此相关的工作,所以我决定让每个人都低估为什么会发生此错误。谢谢,希望这有帮助

 类似资料:
  • 关于网络驱动程序错误 对于ChromeDriver,这是在调试“元素在点不可点击”错误时解决的,但是这个问题也可能发生在火狐中。 在FirefoxDriver中发生此问题时,解决此问题的最佳方法是什么?

  • 对于ChromeDriver,这是在调试“Element is not clickable at point”错误时解决的,但该问题也可能发生在Firefox中。 当它在FirefoxDriver中发生时,解决这个问题的最佳方法是什么?

  • 一切都很好,直到我到达我的页面的底部10%。 我得到以下错误: 未捕获的WebDriverError:Appium Error:unknown Error:在点(20,324)处不能单击元素。其他元素将收到click:...(Session info:chrome=58.0.3029.83)(驱动程序信息:chromedriver=2.29.461571(8A88BBE0775E2A23AFDA0

  • 我有一个使用Selenium WebDriver版本3.6和Chrome驱动程序的自动化项目。软件运行良好,直到它开始显示错误 未知错误:元素在点(25,-9)处不可单击(会话信息:Chrome=61.0.3163.100)(驱动程序信息:ChromeDriver=2.31.488763(092DE99F48A300323ECF8C2A4E2E7CAB51DE5BA8),平台=Windows NT

  • 问题内容: 我尝试用Selenium 抓取此网站。 我想单击“下一页”按钮,为此,我这样做: 它适用于许多页面,但不适用于所有页面,我收到此错误 始终为此页面 我尝试了这个 但是我遇到了同样的错误 问题答案: 另一个元素覆盖了您要单击的元素。您可以使用它来单击。