【发布时间】:2013-03-08 19:11:46
【问题描述】:
我看到有一些方法可以通过 Selenium 的各种 Java 库获取元素的屏幕位置和尺寸,例如 org.openqa.selenium.Dimension,它提供 .getSize(),以及 org.openqa.selenium.Point 和 getLocation()。
有没有办法通过 Selenium Python 绑定获取元素的位置或尺寸?
【问题讨论】:
我看到有一些方法可以通过 Selenium 的各种 Java 库获取元素的屏幕位置和尺寸,例如 org.openqa.selenium.Dimension,它提供 .getSize(),以及 org.openqa.selenium.Point 和 getLocation()。
有没有办法通过 Selenium Python 绑定获取元素的位置或尺寸?
【问题讨论】:
知道了!线索在selenium.webdriver.remote.webelement — Selenium 3.14 documentation.
WebElements 具有属性.size 和.location。两者都是dict 类型。
driver = webdriver.Firefox()
e = driver.find_element_by_xpath("//someXpath")
location = e.location
size = e.size
w, h = size['width'], size['height']
print(location)
print(size)
print(w, h)
输出:
{'y': 202, 'x': 165}
{'width': 77, 'height': 22}
77 22
它们还有一个名为rect 的属性,它本身就是一个dict,并包含元素的size 和location。
【讨论】:
e.click() 和 selenium 会点击它。