【发布时间】:2018-05-02 06:49:54
【问题描述】:
当我尝试运行 webdriverIO selenium 代码时,我收到以下错误:
失败:未知错误:元素不是 在点 (389, 709) 处可点击。其他元素会收到点击: ...
标签: javascript selenium selenium-webdriver integration-testing webdriver-io
当我尝试运行 webdriverIO selenium 代码时,我收到以下错误:
失败:未知错误:元素不是 在点 (389, 709) 处可点击。其他元素会收到点击: ...
标签: javascript selenium selenium-webdriver integration-testing webdriver-io
似乎问题在于您需要显式滚动到适当的元素才能单击按钮。不知道为什么它不是自动的,但使用browser.scroll(selector) (http://webdriver.io/api/utility/scroll.html) 很容易解决。
const checkboxSelector =
getAttributeSelector('data-test', 'manual-checkbox');
browser.scroll(checkboxSelector);
browser.click(checkboxSelector);
问题解决了
【讨论】:
geckodriver 多次出现这个问题)。您可以使用您正在运行检查的package.json 依赖项和设置更新您的问题吗?例如,在chromedriver 上,.click() 命令会自动滚动到element,直到它在viewport 中可见。
您的页面是否可能包含隐藏元素或您可能使用选择器定位的多个元素?当我看到这个错误时,通常我的单个选择器可能会在幕后定位另一个元素。消息“其他元素将收到点击”通常是表明它可能已拾取多个元素的关键,而您打算点击的元素不是脚本会点击的元素。
您可以通过在浏览器控制台中使用 CSS 选择器来测试这一点
$$('data-test')
如果您看到返回了多个元素,您可能需要更具体地使用您的选择器以更精确地缩小您打算采取行动的范围。
【讨论】: