我尝试使用CSS selector
和后来的Xpath
单击元素。但是都失败了。谁能帮助我解决问题。以下是我提供的xpath。
Xpath: //*[@id="content"]/div/div[1]/ul/li[3]/div[2]/div/button
HTML:在列表中选择或搜索一个国家...巴林
我是Selenium的新手,并且没有自动化应用程序的经验。我应该继续使用xpath还是应该尝试使用其他定位器?
答案 0 :(得分:1)
您可以使用JavascriptExecutor
:
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element);
或
获取xpath
中的WebElement
。将它们放入List
(Java集合)
List<WebElement> lst = xpath ;
for(WebElement we:lst){
if(we.getText().equalsIgnoreCase("Bahrain"))
we.click();
}
}
答案 1 :(得分:0)
您可以使用下面的代码搜索所需的文本,然后单击元素。
String searchText = "Bahrain"; // you can parameterize it
WebElement dropdown = driver.findElement(By.id("content"));
dropdown.click(); // assuming you have to click the "dropdown" to open it
List<WebElement> options = dropdown.findElements(By.tagName("li"));
for (WebElement option : options)
{
if (option.getText().equals(searchText))
{
option.click(); // click the desired option
break;
}
}