首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HtmlUnit编码

HtmlUnit编码
EN

Stack Overflow用户
提问于 2019-10-15 23:12:25
回答 1查看 99关注 0票数 0

每当我点击一个按钮,我就会得到错误的编码。怎么修呢?

代码语言:javascript
复制
    package com.company;

    import com.gargoylesoftware.htmlunit.*;
    import com.gargoylesoftware.htmlunit.html.HtmlElement;
    import com.gargoylesoftware.htmlunit.html.HtmlPage;
    import org.apache.commons.logging.LogFactory;      
    import java.util.logging.Level;

    public class Parsing {
        public void connect() throws Exception {
            LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
            java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF);
            java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF);

            WebClient client = new WebClient(BrowserVersion.CHROME);
            client.setAjaxController(new NicelyResynchronizingAjaxController());
            client.getOptions().setThrowExceptionOnScriptError(false);
            client.getOptions().setThrowExceptionOnFailingStatusCode(false);
            String url = "https://auto.ru/cars/new/group/mercedes/e_klasse/20743577/20886691/?grouping_id=tech_param_id%3D20743577%2Ccomplectation_id%3D21225392&sort=fresh_relevance_1-desc&geo_radius=200";

            HtmlPage page = client.getPage(url);
            HtmlElement clickContact = (HtmlElement) page.getElementById("confirm-button");
            page = clickContact.click();
            client.waitForBackgroundJavaScript(10000);

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

        }

输出:

Ð>егковÑ<еŸœœ,š1/4/1/4/1/4/1/4欧元/1/4欧元/1/4欧元/1/4欧元/1/4欧元/1/4欧元/1/4欧元/1/4欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/25欧元/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-19 15:55:12

尝尝这个

代码语言:javascript
复制
public static void main(String[] args) throws IOException {
    String url = "https://auto.ru/cars/new/group/mercedes/e_klasse/20743577/20886691/?grouping_id=tech_param_id%3D20743577%2Ccomplectation_id%3D21225392&sort=fresh_relevance_1-desc&geo_radius=200";

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

        HtmlPage page = webClient.getPage(url);

        HtmlElement clickContact = (HtmlElement) page.getElementById("confirm-button");
        page = clickContact.click();
        System.out.println("still running " + webClient.waitForBackgroundJavaScript(60_000));
        System.out.println(" ---- ");

        // the page content got changed via javascript
        // we like to get see the new content
        page = (HtmlPage) webClient.getCurrentWindow().getEnclosedPage();
        System.out.println(page.asText());
    }
}

我没有得到全部内容正确,但主要部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58403694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档