可以使用JAVA点击htmlunit中的输入按钮,当我尝试以下代码时,它会给我异常"TypeError:无法从null读取属性"mousedown"
HtmlSubmitInput search_button = (HtmlSubmitInput) page.getByXPath(".//*[@id='ctl00_ContentPlaceHolder1_PortalPageControl1_ctl08_PSCDocumentSearchControl1_searchButton']").get(0);
HtmlPage results_page = search_button.click();
我还尝试将按钮转换为HtmlButton和HTML元素
有人能告诉我,对于输入类型"提交",什么是最好的转换吗?
好吧,我在两种方式中都使用了htmlunit来解析页面。xpath方式请求元素更安全,但您必须知道确切的名称。findbyid或findbyname更容易,但如果某个网站使用框架,那么html元素的id和name将不会相同,无论xpath如何。因此,我建议先尝试按id或名称获取按钮,看看它是否有效。
HtmlSubmitInput button = form.getInputByName("searchButton");
HtmlPage page2 = button.click();
我已经找到了解决方案,但我不知道它到底是如何工作的,当我在点击按钮之前添加一些延迟时,它工作得很好,可能是由于一些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();