WebdriverIO browser.click 给出错误 "Other element would receive the click"。我该如何解决?

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

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

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

相关代码如下:

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

如何摆脱这个错误?

--- 附加信息 ---

正在使用 chromedriver 运行 进行测试:

var desktop = exports.desktop = [{
    browser: 'Chrome',
    os: 'Windows',
    os_version: '7'
}];

问题似乎是您需要明确滚动到适当的元素才能单击按钮。不知道为什么它不是自动的,但使用 browser.scroll(selector) (http://webdriver.io/api/utility/scroll.html).

很容易修复
const checkboxSelector = 
    getAttributeSelector('data-test', 'manual-checkbox');
browser.scroll(checkboxSelector);
browser.click(checkboxSelector);

问题已解决

您的页面是否可能包含隐藏元素或您可能使用选择器定位的多个元素?当我看到这个错误时,通常我的单个选择器可能在幕后指向另一个元素。消息 "Other element would receive the click" 通常是指示它可能拾取了多个元素的关键,而您打算单击的元素不是脚本要单击的元素。

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

来测试它
$$('data-test')

如果您看到返回了多个元素,您可能需要更具体地使用您的选择器,以更精确地缩小您打算采取行动的元素。