Невозможно щелкнуть элемент с помощью xpath - PullRequest
0 голосов
/ 26 сентября 2019

Я пытался нажать на элемент, используя CSS selector и позже Xpath.Но провалились оба.Может ли кто-нибудь помочь мне в решении вопроса.Ниже указан xpath, который я предоставил.

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

Html: выберите или выполните поиск страны в списке ... Бахрейн

Я новичок в Selenium и не имею опыта автоматизации приложений.Стоит ли использовать xpath или использовать другие локаторы?

Ответы [ 2 ]

1 голос
/ 26 сентября 2019

Вы можете использовать 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();
    }
} 
0 голосов
/ 26 сентября 2019

Вы можете использовать код ниже, чтобы найти нужный текст и щелкнуть элемент.

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...