2017-03-15 35 views
2

こんにちは、私はいくつかの要素の画面上の位置を知りたいと思います。私はpythonのセレニウムwebriverの要素の位置を取得する方法を知っているが、どのように画面の左上隅からオフセットを取得するには?[python] [selenium]要素の画面上の位置

image

+0

'x' /' y'座標の代わりに線の長さだけ必要ですか? – Andersson

+0

いいえ、左上のhtmlページコーナーのx、yコードを知りたいのですが、webdriver.locationのこの結果に追加して、いくつかの要素の画面上の位置を取得することができます。 – szmo

答えて

5

私はそれだけでseleniumで画面のトップレベルの隅にブラウザウィンドウの左上隅からの距離を定義することはできませんだと思います。しかし、次のように実装しようとすることができます:

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'] 
+0

ありがとう、それは私の場合のためにうまく動作します:) – szmo

+0

Javaでもうまく動作します – rodi

関連する問題