【问题标题】:Selenium: Element not clickable … Other Element Would Receive Click, click anywaySelenium:元素不可点击……其他元素会收到点击,仍然点击
【发布时间】:2017-04-16 19:38:29
【问题描述】:

这件事的长短是当我尝试使用时

return this.driver.findElement(By.css("div[class*='img']")).click();

我收到一个错误Uncaught WebDriverError: unknown error: Element is not clickable at point (525, 889). Other element would receive the click:...

我怎样才能点击并让“其他元素”接收点击?我正在使用 webdriverjs。

这背后的原因基本上是我正在测试的网站做了一些花哨的反应,以某种方式掩盖了链接。基本上不是将链接附加到图像,而是整个图像都覆盖有一个透明框,可以将您链接到某个地方(不要问我为什么)。当您“点击图片”时,您实际上点击了图片,但从用户的角度来看,它们是一回事。

当我使用 webdriverIO 时,我可以说

browser.moveToObject("img"); browser.leftClick();

但我们正在远离这一点。我也试过了

this.driver.findElement(By.css("div[class*='img']"));
    return this.driver.actions().click().perform();

但它似乎没有做任何事情。

关于这个错误有很多问题,但我还没有看到任何希望你点击的问题。

【问题讨论】:

  • 我看到您找到了答案,这也是我的建议。我真的很惊讶actions() 没有工作。在我重新阅读您的问题并看到您已经尝试过之前,这将是我的第二个建议。
  • 是的,这很奇怪,它没有引发错误,只是似乎根本没有做任何事情

标签: javascript selenium selenium-webdriver webdriver


【解决方案1】:

在寻找答案几个小时,发布问题并立即找到答案的经典案例中,我找到了解决方法:

var mylink = this.driver.findElement(By.css("div[class*='img']"));
return this.driver.executeScript("arguments[0].click();", mylink);

【讨论】:

    猜你喜欢
    • 2016-06-08
    • 2016-12-19
    • 2018-03-16
    • 1970-01-01
    • 2019-02-20
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多