我目前正在使用Selenium和Ruby。我的问题是什么传递给Selenium Web Driver的move_by方法?
#move_by(right_by, down_by, device: nil) ⇒ W3CActionBuilder
driver.action.move_by(100, 100).perform
document说:
参数:
所以我使用Chrome Dev工具找到了元素的DOMRect,并在控制台中运行了这个命令:
$0.getBoundingClientRect()
返回以下值:
bottom: 410
height: 14
left: 1801.65625
right: 1817.65625
top: 396
width: 16
x: 1801.65625
y: 396
那么,问题是上面的数字中我的right_by和down_by参数是什么?
您可以使用javascript滚动到所需的位置。使用Javascript:
window.scrollTo(100,100);
在ruby中调用Javascript:
driver.execute_script("window.scrollTo(1801.65625,396);")
或者,如果您尝试滚动到元素,则可以使用scroll.to
,以防万一。
driver.element().scroll.to :bottom