关于javascript:WebdriverIO browser.click给出错误“其他元素将获得点击”。 我该如何解决?

WebdriverIO browser.click gives error “Other element would receive the click”. How do I fix?

当我尝试运行它时,我的webdriverIO硒代码出现以下错误:

Failed: unknown error: Element is not
clickable at point (389, 709). Other element would receive the click:
< html lang="en">...< /html >

这是相关的代码:

1
2
3
const checkboxSelector =
    getAttributeSelector('data-test', 'manual-checkbox');
browser.click(checkboxSelector);

如何摆脱这个错误?

- - 附加信息 - -

该测试正在使用chromedriver运行:

1
2
3
4
5
var desktop = exports.desktop = [{
    browser: 'Chrome',
    os: 'Windows',
    os_version: '7'
}];

您的页面是否可能包含隐藏的元素或选择器可能针对的多个元素? 当我看到此错误时,通常我的单个选择器可能会在幕后针对另一个元素。 消息"其他元素将获得点击"通常是表明它可能已拾取多个元素的关键,而您打算单击的元素并不是脚本将要单击的元素。

您可以通过在浏览器控制台中使用CSS选择器来测试

1
$$('data-test')

如果看到返回了多个元素,则可能需要对选择器进行更具体的说明,以更精确地缩小要执行的操作的范围。


似乎问题在于您需要滚动到适当的元素以单击该按钮。 不知道为什么它不是自动的,但是使用browser.scroll(selector)(http://webdriver.io/api/utility/scroll.html)可以轻松解决。

1
2
3
4
const checkboxSelector =
    getAttributeSelector('data-test', 'manual-checkbox');
browser.scroll(checkboxSelector);
browser.click(checkboxSelector);

问题解决了