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

问题描述 投票:1回答:1

我目前正在使用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(Symbol || String) - 要移动的PointerInput设备的可选名称

所以我使用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 css ruby selenium
1个回答
0
投票

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

window.scrollTo(100,100);

在ruby中调用Javascript:

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

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

driver.element().scroll.to :bottom 
© www.soinside.com 2019 - 2024. All rights reserved.