getPage()函数HTML单元

时间:2014-05-02 11:51:56

标签: htmlunit

我试图从一个名为vatanbilgisayar.com的网站获取数据。我无法通过使用任何HTTP查询或获取HTML代码来获取数据,因为我需要的数据不是放在源代码中,因此我的目标是使用HTML单元获取数据。

所以,为此,我使用下面的代码,在代码之后,有错误日志。如果有人能帮助我解决这个问题,我将非常感激。

最诚挚的问候, Öncel

import java.util.List;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.FrameWindow;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlPage;


public class HTMLUnitTest {

    /**
     * @param args
     * @throws Exception 
     */
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        find();
    }


     private static void find() throws Exception {
            java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);

            String url = "http://www.vatanbilgisayar.com/hp-14-n201st-core-i5-4200u-16ghz-4gb-500gb-14-2gb-w81-notebook.html#ozellikler";

            WebClient webclient = new WebClient(BrowserVersion.CHROME);
            webclient.getOptions().setUseInsecureSSL(true);
            HtmlPage page = webclient.getPage(url);

            List<HtmlAnchor> links = (List<HtmlAnchor>) page.getByXPath("//td[@class='gridUrunOzellikDetayIcerik']");

            for(int x=0; x<links.size(); x++) {
                System.out.println(links.get(x).asText());
            }
        }

}

Exception in thread "main" ======= EXCEPTION START ======== 
EcmaError: lineNumber=[2] column=[0] lineSource=[<no source>] name=[TypeError] sourceName=[http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js] message=[TypeError: Cannot find function getPropertyValue in object [object ComputedCSSStyleDeclaration]. (http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js#2)] 
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot find function getPropertyValue in object [object ComputedCSSStyleDeclaration]. (http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js#2) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:689) 
        at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:620) 
        at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:513) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:575) 
        at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1074) 
        at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:391) 
        at com.gargoylesoftware.htmlunit.html.HtmlScript$3.execute(HtmlScript.java:272) 
        at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:286) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:702) 
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:662) 
        at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1170) 
        at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1072) 
        at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206) 
        at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:330) 
        at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3126) 
        at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2093) 
        at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:920) 
        at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499) 
        at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452) 
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:926) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:245) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:191) 
        at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:268) 
        at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:156) 
        at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:455) 
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) 
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:394) 
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:379) 
        at HTMLUnitTest.find(HTMLUnitTest.java:30) 
        at HTMLUnitTest.main(HTMLUnitTest.java:18) 
Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot find function getPropertyValue in object [object ComputedCSSStyleDeclaration]. (http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js#2) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3629) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3613) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3634) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3650) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3714) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2233) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2215) 
        at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1333) 
        at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:798) 
        at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105) 
        at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:411) 
        at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:309) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3057) 
        at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:115) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:566) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:674) 
        ... 31 more 
Enclosed exception: 
net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot find function getPropertyValue in object [object ComputedCSSStyleDeclaration]. (http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js#2) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3629) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3613) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3634) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3650) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3714) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2233) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2215) 
        at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1333) 
        at script(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script.en(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script(http://www.vatanbilgisayar.com/Scripts/jquery-base.min.js:2) 
        at script(http://www.vatanbilgisayar.com/upload/js/jquery-ui.js:174) 
        at script(http://www.vatanbilgisayar.com/upload/js/jquery-ui.js:5) 
        at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:798) 
        at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105) 
        at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:411) 
        at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:309) 
        at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3057) 
        at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:115) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:566) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:674) 
        at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:620) 
        at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:513) 
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:575) 
        at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1074) 
        at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:391) 
        at com.gargoylesoftware.htmlunit.html.HtmlScript$3.execute(HtmlScript.java:272) 
        at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:286) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:702) 
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:662) 
        at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1170) 
        at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1072) 
        at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206) 
        at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:330) 
        at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3126) 
        at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2093) 
        at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:920) 
        at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499) 
        at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452) 
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:926) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:245) 
        at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:191) 
        at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:268) 
        at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:156) 
        at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:455) 
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) 
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:394) 
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:379) 
        at HTMLUnitTest.find(HTMLUnitTest.java:30) 
        at HTMLUnitTest.main(HTMLUnitTest.java:18) 
======= EXCEPTION END ======== 

0 个答案:

没有答案