java
  • xpath
  • selenium-webdriver
  • 2014-04-26 5 views 0 likes 
    0

    해결책을 찾고자했지만 어떤 것도 찾지 못했습니다. Webdriver는 어떤 이유로이 하나의 특정 요소를 찾을 수 없습니다.Selenium webdriver가이 특정 요소를 찾을 수 없습니다.

    다음은 HTML 코드입니다 :

    <div id=​"cboxOverlay" style="opacity: 1; cursor: auto; display: none;">​</div>​ 
    

    그리고이 요소

    By.xpath("//div[@id = 'cboxOverlay' and contains(@style, 'display: none;')]") 
    

    내가 firefinder 사용하는 경우, 나는이 요소를 찾을 수 있습니다을 찾기 위해 XPath를 사용하고 있습니다. 그러나 시간이 초과 내가

    WebElement cboxOverlayWebElement = driver.findElement(cboxOverlay); 
    

    나는 또한 요소를 클릭하거나 볼 때까지 기다려야 명시 적으로 대기를 사용하여 시도 코드를 실행할 때 요소를 찾을 수 나던. 또한 Java를 사용하고 있습니다.

    누군가가 나를 도울 수 있을까요? 감사!! cboxoverlay가 표시되지 않을 것 의미 : HTML 코드에서

    +0

    '@ id' 만 확인하면됩니다. By.xpath ("// div [@ id ='cboxOverlay ']")'. – alecxe

    +0

    '프레임'또는 'iframe'의 내부 요소입니까? – Richard

    +0

    필자의 이해는 제한적이지만 필자는 필자의 XPath에 공백이있을 때 WebDriver가 요소를 올바르게 찾을 수없는 경우가있었습니다. alecxe가 제안한대로 ID 만 사용하면 동일한 ID를 가진 요소가 두 개 이상있는 경우 다음과 같이 괄호 안에 숫자를 추가하여 원하는 ID를 지정할 수 있습니다. By.xpath ("// div [ id = 'cboxOverlay'] [2] ')'두 번째 항목 인 경우. 리차드가 제안한 것처럼 요소가 프레임 안에 있으면 먼저 해당 프레임으로 포커스를 전환해야합니다. – autoKarma

    답변

    0

    @Sweta

    는 "아무도 디스플레이에"있다. 그래서 webdriver는 그것을 얻지 못했습니다. 이 오버레이를 어떤 동작으로 표시하고 코드를 작성하는지 확인하십시오.

    관련 문제