【发布时间】:2018-12-18 06:23:16
【问题描述】:
我正在使用 HtmlUnit 驱动程序,但是我的代码适用于 Firefox 或 chrome,但是当我开始使用 HtmlUnit 驱动程序时,它工作到一定程度,但之后它卡在了我使用 driver.switchTo() 的位置。框架(“大”);
我参考了下面的链接,但不知道为什么它不起作用
.switchTo().frame(<'frameId'>); not working with HtmlUnit Driver
https://sqa.stackexchange.com/questions/15309/selenium-htmlunit-how-do-i-disable-js-errors
以下是我尝试过的。
CustomHtmlUnitDriver.java
public class CustomHtmlUnitDriver extends HtmlUnitDriver {
@Override
protected WebClient modifyWebClient(WebClient client) {
WebClient modifiedClient = super.modifyWebClient(client);
modifiedClient.getOptions().setThrowExceptionOnScriptError(false); // see here
modifiedClient.getOptions().setJavaScriptEnabled(true);
return modifiedClient;
}
}
Startup.java
static CustomHtmlUnitDriver driver = new CustomHtmlUnitDriver();
Thread.sleep(3000);
driver.manage().window().maximize();
---
/*some working code */
driver.switchTo().frame("Big");
/*and then the error as below*/
错误为
org.openqa.selenium.NoSuchFrameException: 无法定位框架 名称或 ID:大构建信息:版本:'3.13.0',修订:'2f0d292', 时间:'2018-06-25T15:24:21.231Z' 系统信息:主机:'CPU-38',ip: '000000', os.name: 'Windows 8', os.arch: 'x86', os.version: '6.2', java.version:'1.8.0_171' 驱动程序信息:driver.version:未知 org.openqa.selenium.htmlunit.HtmlUnitDriver$HtmlUnitTargetLocator.frame(HtmlUnitDriver.java:1507)
【问题讨论】:
-
你是否设置了 javasecriptexecution 为真?