1 回答

TA貢獻(xiàn)1794條經(jīng)驗 獲得超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 標(biāo)簽來查找元素來浪費(fèi)時間。
添加回答
舉報