2017-07-14 64 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(); 
相关问题