如何找到元素的正确水平和垂直偏移?

时间:2019-03-14 17:17:52

标签: javascript css ruby selenium

我目前正在使用Selenium和Ruby。我的问题是要传递给Selenium Web Driver的move_by方法什么?

#move_by(right_by, down_by, device: nil) ⇒ W3CActionBuilder
driver.action.move_by(100, 100).perform

document这样说:

参数:

  • right_by(整数)-水平偏移量。负值表示移动 鼠标左移。
  • down_by(整数)-垂直偏移量。负值表示移动 鼠标向上。
  • device(符号||字符串)— PointerInput设备的可选名称 移动

因此,我使用Chrom 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参数是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用javascript滚动到所需位置。 Javascript:

window.scrollTo(100,100);

在ruby中调用Javascript:

driver.execute_script("window.scrollTo(1801.65625,396);")

或者,如果您尝试滚动到某个元素,则可以使用scroll.to,以防万一。

driver.element().scroll.to :bottom