2016-09-02 15 views
1

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

enter image description here

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

И это мой код:

//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(); 
+1

Yeah спасибо. Он работает для меня –

+0

@kamal kumar. Вы должны [отметить этот ответ как правильный ответ] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), если это помогло. .. :) –

+0

Да, я поддержал ответ. –