2016-02-29 59 views
0

我想通過在python中使用硒來測試開發中網頁的功能。關注當前屏幕硒

該網頁有幾個實例,其中ID /名稱重複。

例如:

<input class="" name="title1" type="text"> 

這行代碼重複但聯繫到整個代碼不同的輸入字段。

因此,當我嘗試通過測試的網頁:

driver.find_element_by_name("elname").send_keys("BOb") 

似乎在尋找那就是在代碼,而不是集中在當前屏幕上,輸入名稱的第一個實例我期望的輸入。這個屏幕不是一個窗口。所以我不能切換到窗口。

有沒有辦法讓驅動程序只專注於當前屏幕?

+0

你的意思, 「當前屏幕」? – Andersson

+0

我輸入信息的屏幕。這不是一個新窗口,但它是一個彈出式屏幕。 – royalblue

回答

1

「當前屏幕」是否真的是瀏覽器警報,還是僅僅是設計爲看起來像瀏覽器窗口中的對話框的HTML?這是真的HTML,那麼這些單獨的輸入元素可能具有獨特名稱的父母。

<div id="first_dialog"><input class="" name="title1" type="text"></div> 

所以你會通過限制你的搜索:

driver.find_element_by_id("first_dialog").find_element_by_name("elname").send_keys("BOb") 
0

如果您的目標是與當前焦點對象進行交互,請使用driver.switch_to.active_element。這將返回您可以與之交互的當前活動元素。