2013-01-11 4 views
0

내가 http://www.thoughtworks-studios.com/twist/2.3/help/how_do_i_handle_ajax_in_selenium2.html에서 다음 코드를 사용하려고 노력 셀레늄 :Ajax와 간헐적으로

  String xpathExpr = "//div[@id='contentPane']/div[@class='g-x-Aa ud-Aa']/div[@class='Nj mu']/div[@class='ez vcard']/div[@class='l-Gy Vra']/div[@class='qga']/div[@class='g-Ua-z9']/div[@class='WAa']/div[@class='Yia']/div[@class='twa Vxa']/div[@class='zD us']/div[@class='hx a-f-e']"; 
    //String xpathExpr = "//div[@id='contentPane']/div[@class='g-x-Aa ud-Aa']"; 
    By by = By.xpath(xpathExpr); 
    WebDriverWait wait = new WebDriverWait(driver, 20); 
    WebElement elem1 = wait.until(visibilityOfElementLocated(by)); 
    System.out.println(Util.getInnerHtml(driver, elem1)); 

      public static String getInnerHtml(WebDriver driver, WebElement element) { 
     return (String)((JavascriptExecutor)driver).executeScript("return  arguments[0].innerHTML;", element); 
    } 

일부 아약스 페이지를 테스트합니다. 이상한 일은 처음에는 작동하지만 이후에는 작동하지 않는다는 것입니다. DOM 요소가 파이어 폭스에로드되고 명확하게 볼 수있는 것 외에도 프로그램은 innerhtml 부분에 붙어 있으며 때로는 대기합니다.

이 문제를 디버그하고 해결하는 방법에 대한 아이디어가 있으십니까?

감사합니다.

답변

0

문제가 해결되었습니다. xpath에서 CSS 클래스 이름에 문제가 있다고 생각합니다.