1 回答

TA貢獻1871條經驗 獲得超13個贊
您正在看到預期的行為。如果您的用例是打印所有值,然后在文本為Angolaclick()
的元素上打印,您可以使用以下定位器策略:
driver.get("https://some-url.com");
driver.findElement(By.xpath("http://*[@id='example']/div[4]/div/div[2]/div[4]/div[1]/div[6]/div/input[2]")).click();
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("http://div[@class='menu transition visible']/div"))).stream().map(element->element.getAttribute("innerHTML")).collect(Collectors.toList()););
List<WebElement> allOptions = driver.findElements(By.xpath("http://div[@class='menu transition visible']/div"));
for (int i = 0; i < allOptions.size(); i++) {
? ? if (allOptions.get(i).getText().equalsIgnoreCase("Angola")) {
? ? ? ? allOptions.get(i).click();
? ? ? ? break;
? ? }
}
添加回答
舉報