HtmlUnit:TypeError:无法读取属性" mousedown"从null

时间:2014-09-17 10:53:23

标签: java htmlunit

可以使用JAVA单击htmlunit中的输入按钮,当我尝试使用代码时,它会给我异常“TypeError:无法读取属性”mousedown“from null”

    HtmlSubmitInput search_button = (HtmlSubmitInput) page.getByXPath(".//*[@id='ctl00_ContentPlaceHolder1_PortalPageControl1_ctl08_PSCDocumentSearchControl1_searchButton']").get(0);
        HtmlPage results_page = search_button.click();

我还尝试将按钮投射到 HtmlButton HtmlElement

任何人都可以告诉我输入类型“提交”

的最佳选择

2 个答案:

答案 0 :(得分:0)

我已经在两种方式中使用htmlunit来解析页面。 xpath方式对于请求元素更安全,但您必须知道确切的名称。 findbyid或findbyname更容易,但如果某个网站使用框架,则html元素的id和名称将不相同,但xpath将是。 所以我建议首先尝试按ID或按名称来查看它的工作情况。

  HtmlSubmitInput button = form.getInputByName("searchButton");
  HtmlPage page2 = button.click();

答案 1 :(得分:0)

我已经找到了解决方案,但我不知道它是如何工作的,当我在点击按钮之前添加一些延迟时,它工作正常,可能是由于一些JS加载。

    HtmlSubmitInput search_button = (HtmlSubmitInput) page.getByXPath(".//*[@id='ctl00_ContentPlaceHolder1_PortalPageControl1_ctl08_PSCDocumentSearchControl1_searchButton']").get(0);
    Thread.sleep(10000);
    HtmlPage results_page = search_button.click();