Почему мой веб-драйвер Selenium не нажимает на элемент, идентифицируемый по id?

Мой веб-драйвер Selenium не нажимает на этот узел дерева. Я не знаю точно, что мы говорим, это узел дерева или что-то еще, так что это изображение, и я выделил элемент.

Эта часть со стрелкой вправо, на которую я хочу нажать

И это мой код:

//wait.until(ExpectedConditions.elementToBeClickable(By.id("iconDiv"))); 
WebElement taskdropElementid = driver.findElement(By.id("iconDiv"));
System.out.println(taskdropElementid.getAttribute("class"));
if(taskdropElementid.getAttribute("class").equals("RightArrow")) 
  taskdropElementid.click();

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

Что я делаю неправильно?

1 ответ

Решение

Печать заявления дает мне выпадающий список

Это означает, что есть несколько элементов с одинаковым идентификатором iconDiv и, к сожалению, вы находите другой элемент, который имеет имя класса dropdown,

Если вы хотите найти элемент с именем класса RightArrow, Вы должны попробовать использовать By.cssSelector() чтобы найти его уникально, как показано ниже:

WebElement taskdropElementid = driver.findElement(By.cssSelector("div#iconDiv.RightArrow"));
taskdropElementid.click();
Другие вопросы по тегам