2013-03-19 77 views
33

我看到有通過對硒各種Java庫,如org.openqa.selenium.Dimension,提供.getSize(),並org.openqa.selenium.PointgetLocation()得到一個元素的屏幕位置和尺寸的方法。硒:獲取座標或元素的尺寸與Python

有沒有什麼辦法讓無論是位置還是與硒Python綁定元素的尺寸是多少?

回答

54

Got it!線索是在https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webelement.html

WebElements具有的屬性.size.location。這兩種類型都是dict

driver = webdriver.Firefox() 
e = driver.find_element_by_xpath("//someXpath") 
location = e.location 
size = e.size 
print(location) 
print(size) 

返回:

{'y': 202, 'x': 165} 
{'width': 77, 'height': 22} 

他們也有一個名爲rect屬性,它本身就是一個dict,幷包含元素的sizelocation

+0

如何在C#中實現此目的?我想獲取元素的邊界,然後進行一些計算,然後單擊該元素上的x,y座標。 – rahoolm 2014-08-12 08:03:53

+0

@rahoolm你可以做'e.click()',硒會點擊它。 – 2016-05-14 22:59:36

+1

這些座標是什麼意思?它們與屏幕上元素的位置不同,至少在我的機器上。它們是否與瀏覽器窗口大小相關? – 2016-08-11 07:58:46