2017-07-14 127 views
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

+0

如果你直接在這裏粘貼html這裏會更好 – Mikhail

+0

將頁面加入代碼可能是一個好主意。你讓別人更容易處理你的問題越容易他們願意幫助:) – NotInventedHere

回答

0

解決。我需要突出顯示「男性」選項,然後單擊。

genderSelection.click(); 
genderMale.sendKeys("Male"); 
genderMale.click(); 
相關問題