Почему мой веб-драйвер 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();