Я пытаюсь щелкнуть первый элемент из списка, но компилятор выдает исключение каждый раз - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно щелкнуть первый элемент из списка.

Я также пытался привести тип к элементу перед щелчком, но он также вызывает исключение.

wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList"))));
System.out.println("Bug to be clicked ");
ClientUICommon.sleep(3000);
((WebElement) driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList")))).click();

1 Ответ

1 голос
/ 11 июля 2019

Проблема в следующем коде:

((WebElement) driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList")))).click();

Видите ли, метод findElements не возвращает WebElement объект. Возвращает список веб-элементов. List<WebElement> если быть точным.

Что вы в основном делали, это щелкали по списку, а не по его элементу:

driver.findElements(...).click();

Что вызовет ошибку компиляции, потому что List<> не имеет метода click(). Чтобы щелкнуть по первому элементу списка, вы должны использовать метод get с индексным аргументом, подобным этому:

list.get(0);

Выше вернется одиночный WebElement

Полный код:

List<WebElement> elementList = driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList"))));
WebElement firstElement = elementList.get(0);
firstElement.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...