可以使用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
任何人都可以告诉我输入类型“提交”
的最佳选择答案 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();