如何在浏览器视口之外的元素上使用 Watir ChromeDriver?

How to use Watir ChromeDriver on an element outside of browser viewport?

我 运行 使用 Watir 使用 Chrome 驱动程序时出现以下错误;

WARN: Selenium::WebDriver::Error::UnknownError: unknown error: Element is not clickable at point (762, 711)

我知道该元素在页面上,但该元素似乎就在 ChromeDriver viewport 底部的下方,需要滚动才能在我看到的 size viewport 中可见至少我的屏幕。

This 是一个相关的 SO 问题,虽然我找不到 Ruby 解决方案,但任何人都可以提出建议。谢谢

确保您使用的是最新的 chromedriver (2.33)。 Chrome 61 的滚动方式发生了变化,我认为该修复程序首先在 chromedriver 2.32.

中可用

一种方法是使用 scrollIntoView(假设元素是按钮):

browser.execute_script('arguments[0].scrollIntoView();', browser.button(id: testBTN))

另一种方式是Justin Ko的回答: