获取元素的位置/位置

mas*_*ash 2 ruby watir

我使用watir-webdriver并尝试找到元素的位置$browser.div(:id, "foo").当我试图点击它时,chromedriver说

元素不可点击(-1707,-799.5)

如何获得元素的坐标?我试过这个:

http://wiki.openqa.org/display/WTR/Right+Click+an+Element

但是当我尝试调用该document()方法时出现错误.

Jus*_* Ko 10

我假设您使用的是Watir-Webdriver,因为您使用的是Chromedriver.您引用的文章实际上是针对Watir的,它与Watir-Webdriver并不总是相同.

要获取元素的位置,可以使用以下Element#location方法:

location = browser.element(:id, 'id').location
puts "location x = #{location.x}"
puts "location y = #{location.y}"
Run Code Online (Sandbox Code Playgroud)

请注意,旧版本的Watir-Webdriver没有此方法.相反,您需要直接访问底层的Selenium :: WebDriver:

location = browser.element(:id, 'id').wd.location
puts "location x = #{location[0]}"
puts "location y = #{location[1]}"
Run Code Online (Sandbox Code Playgroud)