Htmlunit驱动程序遇到Javascript问题

时间:2017-08-09 13:19:15

标签: javascript selenium selenium-webdriver htmlunit htmlunit-driver

我用Firefox启动了用Java驱动程序编写的Selenium测试,它在Firefox浏览器中运行良好。

然后我用这样的HtmlunitDriver替换FirefoxDriver:

driver = new FirefoxDriver();

driver = new HtmlUnitDriver(true);

但后来我收到了这个错误:

  

它缺失了&#39 ;;'在指令(http://local.project/bundles/app/js/socket.js#1

之前

这是socket.js文件:

class SocketHandler {
    constructor(url) {
        this.url = url;
        this.session = null;
    }

    ....
}

我怀疑它没有认出课堂宣言。知道怎么纠正吗?

1 个答案:

答案 0 :(得分:1)

您甚至不需要使用PhantomJs。因为PhantomJs这些日子并没有那么多。你可以在无头模式下使用chromedriver。

你只需要添加如下无头的选项: -

chromeOptions.addArguments("--headless");

请在下面找到完整的代码:

System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://google.com");

如果你还想使用phantomjs。然后首先从下面的位置下载phantomjs二进制文件: -

http://phantomjs.org/download.html

现在使用以下代码: -

System.setProperty("phantomjs.binary.path","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\phantomjs\\phantomjs.exe");
DesiredCapabilities capabilities = null;
ArrayList<String> cliArgsCap = new ArrayList<String>();
capabilities = DesiredCapabilities.phantomjs();
cliArgsCap.add("--web-security=false");
cliArgsCap.add("--ssl-protocol=any");
cliArgsCap.add("--ignore-ssl-errors=true");
capabilities.setCapability("takesScreenshot", true);
capabilities.setJavascriptEnabled(true);
capabilities.setCapability(
PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cliArgsCap);
capabilities.setCapability(
PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS,new String[] { "--logLevel=2" });
driver = new PhantomJSDriver(capabilities);
driver.get("https://www.google.co.in/");

希望它会对你有所帮助:)。