[python][selenium] on-screen position of element

szmo picture szmo · Mar 15, 2017 · Viewed 9.4k times · Source

Hello i would like to know the on-screen position of some element. I know how to get the position of element in python selenium webriver but how to get offset from left-top corner of screen?

image

Answer

Andersson picture Andersson · Mar 15, 2017

I guess it's not possible to define distance from top-left corner of browser window to top-level corner of screen with just selenium. But you can try to implement following:

driver = webdriver.Chrome()
driver.maximize_window() # now screen top-left corner == browser top-left corner 
driver.get("http://stackoverflow.com/questions")
question = driver.find_element_by_link_text("Questions")
y_relative_coord = question.location['y']
browser_navigation_panel_height = driver.execute_script('return window.outerHeight - window.innerHeight;')
y_absolute_coord = y_relative_coord + browser_navigation_panel_height
x_absolute_coord = question.location['x']