【问题标题】:How to locate and write to textfield and click submit with HtmlUnit?如何使用 HtmlUnit 定位并写入文本字段并单击提交?
【发布时间】:2015-09-25 19:18:03
【问题描述】:

我对 HtmlUnit 完全陌生,我真的不知道如何阅读和理解网站的页面源。尽管如此,我已经编写了代码(从这个tutorial 学习)来尝试访问以下网站

然后我被卡住了,因为我不熟悉 javascript。这就是我想要实现的目标:

  • 我想在左侧菜单的文本字段中输入328 该网站

  • 点击提交按钮

这样我就可以进入下一页。

更新:我设法通过在我的代码中添加一行来解决页面访问问题。但是我仍然无法找到输入文本字段,输入一些输入并单击按钮,以便我可以登陆到下一页。

public void testing() throws Exception {
           /* turn off annoying htmlunit warnings */
    java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);
    try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
        final HtmlPage page = webClient.getPage("http://www.aastocks.com/en/stock/DetailQuote.aspx?&symbol=1");
        final HtmlDivision div = page.getHtmlElementById("LeftMenu_Button");
    }
}

【问题讨论】:

    标签: java html http htmlunit


    【解决方案1】:

    该网站有一个 URL 为 //: 的 CSS,它未被 HtmlUnit 正确处理,现在已在 SVN 中修复。

    请获取latest build,下面的代码可以使用它:

        try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
    
            final HtmlPage page = webClient.getPage("http://www.aastocks.com/en/stock/DetailQuote.aspx?&symbol1");
            HtmlInput input = page.getHtmlElementById("PY_txt");
            input.type("328");
    
            final HtmlPage page2 = page.getHtmlElementById("imgHKStockSubmit").click();
            System.out.println(page2.getUrl());
            System.out.println(page2.asText());
        }
    

    【讨论】:

      猜你喜欢
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多