首页 文章

WebdriverIO browser.click给出错误“其他元素将收到点击” . 我该如何解决?

提问于
浏览
1

当我尝试运行它时,我从webdriverIO selenium代码中收到以下错误:

失败:未知错误:元素在点(389,709)处无法点击 . 其他元素将收到点击:<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'
}];

2 回答

  • 1

    似乎问题是您需要明确滚动到相应的元素才能单击按钮 . 不知道为什么's not automatic but it'是一个使用 browser.scroll(selector)http://webdriver.io/api/utility/scroll.html)的简单修复 .

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

    问题解决了

  • 1

    您的网页是否可能包含您可能使用选择器定位的隐藏元素或多个元素?当我看到这个错误时,我的单选择器通常会在幕后定位另一个元素 . 消息“其他元素将收到点击”通常是指示它可能已经拾取了多个元素和您打算单击的元素的关键,而不是脚本单击的内容 .

    您可以使用浏览器控制台中的CSS Selector来测试它

    $$('data-test')
    

    如果您看到返回了多个元素,则可能需要更加具体地使用选择器来更精确地缩小要执行的操作 .

相关问题