我正试图通过SeleniumWebDriver测试delta.com站点,我被困在乘客信息页面上,下面是如何访问它的说明。一切都很顺利,只是我不能选择任何列表字段。列表打开,程序不选择任何内容,并进一步。
举个例子,我试着选择性别。
@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();
}
但它没有选择任何东西,更进一步。
然后我试着用 <select>
这是隐藏的,xpath=“//*[@id=“gender0”]”。在那里,我点击选项与'男性'文本。不太管用。
然后我尝试了javascript。中有一些属性 <span>
如果我手动更改为“男”的话。所以我这样做(要设置的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')");
这也不管用。它将文本设置为span,但我仍然得到一个错误,我没有填写性别字段。
所以可能有人知道如何设置至少性别。
如何进入乘客信息页面:预订行程->航班->往返行程->从(我选择jfk svo)->本月的任何日期->确切日期->金钱->查找航班->选择任何机票类型->继续->你在那里。
编辑1。页面的html
1条答案
按热度按时间31moq8wy1#
解决了的。我需要突出显示“男性”选项,然后单击。