2016-09-02 6 views
1

내 Selenium 웹 드라이버가이 트리 노드를 클릭하지 않습니다. 우리가 트리 노드 나 다른 어떤 것을 말하는지 정확히 알지 못합니다. 그래서 이것은 이미지이며, 나는 요소를 강조했습니다.내 Selenium 웹 드라이버가 ID로 식별 된 요소를 클릭하지 않는 이유는 무엇입니까?

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

인쇄 문은 나에게이 같은 ID iconDiv 여러 요소가 불행하게도 당신이 대신 클래스 이름 dropdown이있는 다른 요소의 위치를하고 의미 출력 드롭 다운

을주고있다. 당신이 클래스 이름 RightArrow와 요소를 찾으려는 경우

, 당신은 고유 아래를 찾을 수 By.cssSelector()를 사용하여 시도해야합니다 : -

WebElement taskdropElementid = driver.findElement(By.cssSelector("div#iconDiv.RightArrow")); 
taskdropElementid.click(); 
+1

네, 감사합니다. 그것은 나를 위해 일하고있다 –

+0

@ kamal kumar 도움이된다면 [정답으로 표시하시오] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)해야합니다. .. :) –

+0

그래, 나는 대답을 upvoted. –