2011-03-24 2 views
0

FirefoxDriver을 사용하여 아래 코드 줄을 사용하여 링크를 클릭하려고하면 정상적으로 작동합니다.HtmlUnitDriver를 사용하여 웹 페이지를 클릭 할 수 없지만 Same은 FirefoxDriver에서 작동합니다. 왜?

WebDriver driver = new FirefoxDriver(); 
driver.findElement(By.linkText("More...")).click(); 

그러나 HtmlUnitDriver을 사용할 때 예외가 발생합니다.

org.openqa.selenium.NoSuchElementException: No link found with text: More... 
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_24' 
Driver info: driver.version: HtmlUnitDriver 
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElementByLinkText(HtmlUnitDriver.java:630) 
    at org.openqa.selenium.By$2.findElement(By.java:93) 
    at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1198) 
    at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1) 
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.implicitlyWaitFor(HtmlUnitDriver.java:934) 
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:1195) 
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:377) 
    at com.search.engine.BotwSearchEngine.isPageExists(BotwSearchEngine.java:154) 
    at com.search.engine.BotwSearchEngine.searchCategories(BotwSearchEngine.java:82) 
    at com.search.engine.BotwSearchEngine.main(BotwSearchEngine.java:189) 

이 문제를 해결하는 데 도움을주십시오.

답변

1

링크가 페이지의 초기로드시 존재하지 않고 이후 JavaScript를 사용하여 추가 될 수 있습니까? 작동하지 WebDriver driver = new HTMLUnitDriver(true);

http://code.google.com/p/selenium/wiki/HtmlUnitDriver

+0

: 그렇다면, 당신은 당신이 HTMLDriver 인스턴스를 만들 때 자바 스크립트가 활성화되어 있는지 확인하는 것이었다 수 있습니다. :(이 예외를 얻으십시오. 페이지/자바 스크립트에 문제가 있다고 생각합니다. '스레드의 예외 "main"======= EXCEPTION START ======== EcmaError : lineNumber = [0 HtmlTextInput에 대한 onkeypress 이벤트 [ OverrockSTAR

+0

"http://botw.org에서"form-search-input "style ="width : 193px "/top/Business /] message = [ReferenceError : "e"가 정의되지 않았습니다.] com.gargoylesoftware.htmlunit.ScriptException : ReferenceError : "e"가 정의되지 않았습니다 .' – OverrockSTAR