点击不在selenium和nightwatch中工作

时间:2017-10-24 18:24:42

标签: jquery selenium

我有夜视仪的问题,其中.click()不能与选择器一起使用。我添加了--verbose参数,它显示了此消息" 在点(525,560)"时无法点击。它适用于常规jquery执行,但我需要它来处理nightWatch命令和selenium。

我创建了一个要单击的自定义命令,其中包含一个验证,以便在单击之前查看对象是否可见。我在下面添加了这个函数,以及--verbose参数的完整错误。

module.exports.command = function(source) {
  let self = this

    self
  .waitForElementVisible(source,6000)

  .click(source)

  return self
}

值:{message:'未知错误:元素...在点(525,560)处无法点击。其他元素将收到点击:... \ n(会话信息:chrome = 61.0.3163.100)\ n(驱动程序信息:chromedriver = 2.33.506092(733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform = Linux 4.4.0-97-generic x86_64)& #39; }}

3 个答案:

答案 0 :(得分:2)

为了避免来自selenium的错误,您必须将指针移动或悬停在该位置,您可以使用.moveToElement执行此操作。

您可能还会在文档nightwatch-docs中看到它的用法。

只是为了澄清这不是一个夜间监视虫,而是一个硒虫。

module.exports.command = function(source) {
  let self = this

    self
  .waitForElementVisible(source,6000)
  .moveToElement(source,undefined, undefined)
  .click(source)

  return self
}

答案 1 :(得分:0)

与chromedriver 2.30有同样的问题但是当更新到2.33时我能够点击没有解决方法。我知道你已经有了2.33。

您也可以更新Selenium Server。我正在使用' 3.4.0'和' 3.5.0'它与chromedriver 2.33

一起使用

答案 2 :(得分:0)

在某些情况下(尤其是 Chrome 浏览器),问题可能是由与目标元素重叠的其他元素引起的。有时可以通过预先最大化浏览器窗口来缓解这种情况。

换句话说,在测试之前添加类似 browser.windowMaximize(); 的内容可以解决此问题。

相关问题