Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
htmlunit java-如何从javascript解析内容结果?还有一个htmlunit错误_Java_Htmlunit - Fatal编程技术网

htmlunit java-如何从javascript解析内容结果?还有一个htmlunit错误

htmlunit java-如何从javascript解析内容结果?还有一个htmlunit错误,java,htmlunit,Java,Htmlunit,这是我将要刮掉的一页: 我想通过“ulasan terbaru”下的注释文本刮取,我认为这是一个javascript的结果(尽管我可能错了,我不完全确定如何通过inspect元素检查它),除此之外,我也不确定HTMLUnit中的几件事 我读过这篇文章,是为了获取使用HTMLUnit而不是Jsoup所需的javascript内容。我已经读过了,试图按类刮去div的注释,但是我没有得到任何输出 public static void comment(String url) throws IOE

这是我将要刮掉的一页:

我想通过“ulasan terbaru”下的注释文本刮取,我认为这是一个javascript的结果(尽管我可能错了,我不完全确定如何通过inspect元素检查它),除此之外,我也不确定HTMLUnit中的几件事

我读过这篇文章,是为了获取使用HTMLUnit而不是Jsoup所需的javascript内容。我已经读过了,试图按类刮去div的注释,但是我没有得到任何输出

    public static void comment(String url) throws IOException{

        WebClient client = new WebClient();
        client.setCssEnabled(true);
        client.setJavaScriptEnabled(true);
        
        try {
            HtmlPage page = client.getPage(url);
            List<?> date = page.getByXPath("//div/@class='list-box-comment'");
            System.out.println(date.size());
            for(int i =0 ; i<date.size();i++){
                System.out.println(date.get(i).asText());
            }
        }
        catch(Exception e){
                e.printStackTrace();
            }

    }
公共静态无效注释(字符串url)引发IOException{
WebClient客户端=新的WebClient();
client.setCssEnabled(true);
setJavaScriptEnabled(true);
试一试{
HtmlPage=client.getPage(url);
列表日期=page.getByXPath(“//div/@class='List-box-comment');
System.out.println(date.size());
对于(int i=0;i关于您的代码:

public static void main(String[] args) throws IOException {
    final String url = "https://www.tokopedia.com/berkahcell2/promo-termurah-vr-virtual-reality-box-v-2-0-remote-bluetooth-gamepad/review?src=topads";

    try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_60)) {
        webClient.getOptions().setThrowExceptionOnScriptError(false);

        HtmlPage page = webClient.getPage(url);
        webClient.waitForBackgroundJavaScript(40_000);

        System.out.println(page.asXml());

        List<DomNode> date = page.getByXPath("//div[@class='list-box-comment']");
        System.out.println(date.size());

        for(int i = 0 ; i < date.size();i++){
            System.out.println(date.get(i).asText());
        }
    }
}
publicstaticvoidmain(字符串[]args)引发IOException{
最终字符串url=”https://www.tokopedia.com/berkahcell2/promo-termurah-vr-virtual-reality-box-v-2-0-remote-bluetooth-gamepad/review?src=topads";
try(final-WebClient-WebClient=new-WebClient(BrowserVersion.FIREFOX\u 60)){
webClient.getOptions().SetThroweExceptionOnScriptError(false);
HtmlPage=webClient.getPage(url);
webClient.waitForBackgroundJavaScript(40_000);
System.out.println(page.asXml());
列表日期=page.getByXPath(“//div[@class='List-box-comment']”);
System.out.println(date.size());
对于(int i=0;i
现在,页面本身的问题是:

已经做了一些测试,看起来页面在真实浏览器中也会产生错误(检查浏览器控制台)。但是使用HtmlUnit会遇到更多问题(可能是因为缺少对某些javascript功能的支持)。通常这类页面使用了很多很多行js代码-我要找出哪里出了问题真的很费时。如果您想解决这个问题,请尝试找到问题的真正原因(有关提示,请参阅),并提交错误报告。

关于您的代码:

public static void main(String[] args) throws IOException {
    final String url = "https://www.tokopedia.com/berkahcell2/promo-termurah-vr-virtual-reality-box-v-2-0-remote-bluetooth-gamepad/review?src=topads";

    try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_60)) {
        webClient.getOptions().setThrowExceptionOnScriptError(false);

        HtmlPage page = webClient.getPage(url);
        webClient.waitForBackgroundJavaScript(40_000);

        System.out.println(page.asXml());

        List<DomNode> date = page.getByXPath("//div[@class='list-box-comment']");
        System.out.println(date.size());

        for(int i = 0 ; i < date.size();i++){
            System.out.println(date.get(i).asText());
        }
    }
}
publicstaticvoidmain(字符串[]args)引发IOException{
最终字符串url=”https://www.tokopedia.com/berkahcell2/promo-termurah-vr-virtual-reality-box-v-2-0-remote-bluetooth-gamepad/review?src=topads";
try(final-WebClient-WebClient=new-WebClient(BrowserVersion.FIREFOX\u 60)){
webClient.getOptions().SetThroweExceptionOnScriptError(false);
HtmlPage=webClient.getPage(url);
webClient.waitForBackgroundJavaScript(40_000);
System.out.println(page.asXml());
列表日期=page.getByXPath(“//div[@class='List-box-comment']”);
System.out.println(date.size());
对于(int i=0;i
现在,页面本身的问题是:

已经做了一些测试,看起来页面在真实浏览器中也会产生错误(检查浏览器控制台)。但是使用HtmlUnit会遇到更多问题(可能是因为缺少对某些javascript功能的支持)。通常这类页面使用了很多很多行js代码-对我来说,找出问题所在非常耗时。如果你想解决这个问题,请尝试找到问题的真正原因(请参阅以获取一些提示)并提交错误报告