0

我正在尝试使用 Ghost 驱动程序解析 Google 搜索结果页面,为此我需要解析第二个搜索结果页面。因此,使用 Java 脚本,我试图浏览搜索结果页面的源代码(html)并通过单击(使用 Ghost 驱动程序)下面的页码进行导航。然后它抛出以下异常。

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

driver = new HtmlUnitDriver();

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("document.querySelectorAll('#foot span div table tbody tr td a')[2].click();");




Exception in thread "main" java.lang.UnsupportedOperationException: Javascript is not enabled for this HtmlUnitDriver instance
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.getPageToInjectScriptInto(HtmlUnitDriver.java:503)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.executeScript(HtmlUnitDriver.java:458)
    at ATest.main(ATest.java:46)
4

1 回答 1

1

那不是使用 GhostDriver;那是使用 HtmlUnit。你有两个选择。您可以为 HtmlUnit 启用 JavaScript,这将通过驱动程序的所需功能来完成,或者您可以实际使用 GhostDriver,它是 PhantomJS 项目的一部分。在您的 Java 代码中,您将创建一个PhantomJSDriver对象,该对象将用于导航以操作生成的页面。

于 2013-03-20T00:18:53.667 回答