HtmlUnit을 처음 사용하고 로그인하는 데 문제가 있습니다. 아래의 코드는 FireFoxDriver
에 대해 완벽하게 작동하지만 HtmlUnitDriver
에는 실패합니다. 문제는 javascript
을 실행하지 않고 "로그인"링크를 클릭하는 것입니다. html로 볼 수HtmlUnit 드라이버가 JavaScript를 실행하지 않습니다.
사이트 URL : https://fleetworks.trimbletl.com/fleet/start.do
HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME_16);
driver.setJavascriptEnabled(true);
WebDriverWait wait = new WebDriverWait(driver, 10);
driver.get(fleetWorkURL);
WebElement usernameElement = driver.findElement(By.name("j_username"));
usernameElement.sendKeys(username);
WebElement passwordElement = driver.findElement(By.name("j_password"));
passwordElement.sendKeys(password);
WebElement loginButtonElement = driver.findElement(By.linkText("Log in"));
loginButtonElement.click();
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("headerFrame"));
스택 트레이스 :
13, 2013 2:47:54 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
13, 2013 2:47:54 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
13, 2013 2:47:55 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
2013 2:47:56 PM com.gargoylesoftware.htmlunit.WebClient loadDownloadedResponses
INFO: No usage of download: [email protected]
Exception in thread "main" org.openqa.selenium.TimeoutException: Timed out after 10 seconds waiting for frame to be available: headerFrame
Build info: version: '2.29.1', revision: 'dfb1306b85be4934d23c123122e06e602a15e446', time: '2013-01-22 12:58:05'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_11'
Driver info: driver.version: unknown
at org.openqa.selenium.support.ui.FluentWait.timeoutException(FluentWait.java:255)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:224)
at com.yukon.qasetup.xmlService.XMLService.main(XMLService.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
이 메시지는 로그에 다음과 같이 표시 될 수 있습니다 ... 경고 : 사용하지 않는 콘텐츠 유형이 발생했습니다 : 'text/javascript'. 확실하지 않다. –
경고를 무시할 수 있다고 생각합니다. HtmlUnit은 콘텐츠 유형이 마음에 들지 않더라도 대처할 수 있습니다. 진짜 문제는 _headerFrame_ 프레임을 찾을 수없는 예외입니다. –
@ user1991529 : 로그인 버튼으로 해고 될 자바 스크립트의 특정 문제입니까? 아니면 사이트의 모든 자바 스크립트에 실패합니까? –