1 回答

TA贡献1794条经验 获得超7个赞
首先,不要写太长的 xpaths。有更好的方法来访问元素,而不是做那些令人毛骨悚然的事情。
String dropdownXpath = "//input[@class='vs_dropdown-menu' and @role='listbox']";
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath(dropdownXpath))).click();
List<WebElement> myList = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath(dropdownXpath + "//li[@class='vs_dropdown-option' and @role='option']")));
for (WebElement element:myList)
{
System.out.println("names of the divisions " + element.getText());
if(element.getText().contains("Mumbai"));
element.click();
}
如果无法像上面那样访问下拉菜单,只需获取父 div 的 Id,如下所示:
String dropdownXpath = "//div[@id='some-id']input[@class='vs_dropdown-menu' and @role='listbox']";
不要通过爬行 html 标签来查找元素来浪费时间。
添加回答
举报