0
我試圖通過硒webDriver測試delta.com網站,我卡在旅客信息頁面,說明如何到達下面。除了我不能選擇任何列表字段,一切都很好。列表打開,程序不會選擇任何內容並繼續。Selenium java試圖點擊列表元素
因此,例如我試圖選擇性別。
@FindBy(xpath = "//*[@id=\"gender0-button\"]/span[1]")
private WebElement genderSelection;
@FindBy(xpath = "//*[@id="gender0-menu"]/li[2]")
private WebElement genderMale;
public void setGender(){
genderSelection.click();
genderMale.click();
}
但它沒有選擇任何東西,走得更遠。
然後我嘗試使用隱藏的xpath =「// * [@ id =」gender0「]」的<select>
「。在那裏,我點擊「男性」文本的選項。不起作用。
然後我嘗試了javascript。如果我手動更改爲「男性」,<span>
中會有一些屬性發生變化。所以我這樣做smth(id設置可以有所不同):
js.executeScript("arguments[0].innerText = 'Male'", genderMale);
js.executeScript("document.getElementById('gender0-button').setAttribute('aria-activedescendant', 'ui-id-74')");
js.executeScript("document.getElementById('gender0-button').setAttribute('aria-lablelledby', 'gender0-label ui-id-74 gender0-required')");
這不工作了。它將文本設置爲跨度,但是我仍然遇到錯誤,我沒有填充性別字段。
所以可能有人知道如何設置至少性別。
如何到達乘客信息頁面:預訂行程 - >航班 - >往返行程 - >從 - (選擇JFK-SVO) - >本月任何日期 - >確切日期 - >金錢 - >查找航班 - >選擇任何票類型 - >繼續 - >你在那裏。
編輯1. HTML of the page
如果你直接在這裏粘貼html這裏會更好 – Mikhail
將頁面加入代碼可能是一個好主意。你讓別人更容易處理你的問題越容易他們願意幫助:) – NotInventedHere