我正在尝试使用Selenium Webdriver使用Java实现一些代码。
基本上,我有一个带有文本框的网站。一旦用户输入第一个字母,基于该值将显示(使用AJAX)。我需要选择我在发送密钥中提到的特定值。
WebElement fromCity = driver.findElement(By.id("pickUpLocation"));
fromCity.sendKeys("A Ma Temple / 媽閣");
Thread.sleep(2000);
WebElement ajaxContainer1 = driver.findElement(By.className("txt-box ng-touched ng-dirty ng-valid"));
WebElement ajaxHolder1 = ajaxContainer1.findElement(By.tagName("ul"));
List<WebElement> ajaxValues1 = ajaxHolder1.findElements(By.tagName("li"));
for (WebElement value1 : ajaxValues1) {
if (value1.getText().equals("A Ma Temple ")) {
((WebElement)ajaxValues1).click();
break;
}
}
答案 0 :(得分:0)
发送密钥后。您的Ajax值应该在与您关键字搜索相关的框中检索。您需要获取完整的框。并按照您在循环中的方式获取每个.get文本并将其与您的预期文本并单击此条件为真的位置。 thread.sleep()
之前的那一行是什么答案 1 :(得分:0)
我想你可以尝试通过索引进行选择。它应该是这样的
arguments.callee
0表示下拉列表中的第一个元素。根据该元素的索引号,在selectByIndex(0)
中输入相应的数字如果这有帮助,请告诉我。感谢