无法使用xpath单击元素

时间:2019-09-26 07:17:50

标签: java eclipse selenium-webdriver

我尝试使用CSS selector和后来的Xpath单击元素。但是都失败了。谁能帮助我解决问题。以下是我提供的xpath。

Xpath: //*[@id="content"]/div/div[1]/ul/li[3]/div[2]/div/button

HTML:在列表中选择或搜索一个国家...巴林

我是Selenium的新手,并且没有自动化应用程序的经验。我应该继续使用xpath还是应该尝试使用其他定位器?

2 个答案:

答案 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;
    }
}