元素在点不可点击。其他元素将收到点击:

Element is not clickable at point . Other element would receive the click:

我正在尝试使用 CSS 选择器单击 page.I 顶部的按钮,当我 运行 在我的本地 [=16] 中时它工作得很好=] 当我尝试在我本地机器上的 Jenkins 服务器上 运行 它失败时,说元素不可点击。 当我在 Jenkins 上看到失败测试的屏幕截图时,我看到 header 与我要单击的按钮重叠。 我已经尝试了几乎所有使用 XPath 的方法,CSS,移动到元素,移动鼠标。 但还是无法解决,请高手帮忙

我想点击添加按钮

org.openqa.selenium.WebDriverException: Element is not clickable at point (775.25, 10.166671752929688). Other element would receive the click: <div class="globalHeader-UtilTop"></div>
Command duration or timeout: 69 milliseconds
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
System info: host', ip: '', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_80'

<div class="Componet-intels**strong text**-Container">
<div class="Componet-intels-Container-Header">
<div class="Componet-intels-Container-Content">
<div class="Componet-intels-Container-Content-Row">
<span class="Componet-intels-Item"> Item # </span>
<span class="Componet-intels-Text-Item">
<span class="Componet-intels-Lable-Quantity"> Qty: </span>
<span class="Componet-intels-Text-Quantity">
<span class="Componet-intels-Button">
**<input class="Componet-intelsButtonIcon" type="button" value="Add">**
</span>
</div>

Element is not clickable at point (775.25, 10.166671752929688). Other element would receive the click:

它清楚地表明,我们要点击的元素被其他元素隐藏了 div 在这种情况下,它会收到点击。

我认为 UI 有问题,header 不应该隐藏该元素,但您可以尝试一些方法:

  1. 从webdriver最大化浏览器的window看header是否仍然隐藏元素

    driver.manage().window().maximize() 
    
  2. 使用JavaScript点击元素

    WebElement element = driver.findElement(By.<locator>);
    JavascriptExecutor executor = (JavascriptExecutor)driver;
    executor.executeScript("arguments[0].click()", element)`
    

在我的情况下,我必须单击一个按钮,该按钮只有在加载了一些图表后才可见,然后是 ajax 图像。以下步骤帮助我解决了这个问题:

  1. 识别在ajax调用完成后消失的xpath/css并明确等待它成为invisible-wait.until(ExpectedConditions.invisibilityOf(element));

  2. 一个更明确的等待按钮是clickable-wait.until(ExpectedConditions.elementToBeClickable(element));

  3. 使用javascript点击按钮-

    WebElement 元素 = driver.findElement(By.xpath("")); JavascriptExecutor js = (JavascriptExecutor)驱动程序;<br> js.executeScript("arguments[0].click()",元素);

如果这仍然不起作用,请尝试在步骤 1 和步骤 2 之间插入隐式等待。

使用JavascriptExecutor.:-

WebElement element = driver.findElement(By.<locator>);

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click()", element)

我在将 Robot Framework 和 Chrome 浏览器用于 Salesforce 自动化时遇到此错误, 当我使用按键事件 (Press Keys ${locator} RETURN) 而不是 'Click Element' 或 'Click Button' 关键字时,它得到了解决。