Java 使用HTMLUnit按JS按钮浏览网站
我正在尝试使用导航到另一个页面的Java 使用HTMLUnit按JS按钮浏览网站,java,http-post,htmlunit,Java,Http Post,Htmlunit,我正在尝试使用导航到另一个页面的HTMLUnit 2.36按下网页上的Javascript按钮,以此类推……: ScriptResult result = page.executeJavaScript("__doPostBack('LinkBtn_thebutton','')"); Page page = result.getNewPage(); 我试图使用上面的代码,这会导致以下错误,可能是因为不再支持getNewPage(): The method GetNewPage() is unde
HTMLUnit 2.36
按下网页上的Javascript按钮,以此类推……:
ScriptResult result = page.executeJavaScript("__doPostBack('LinkBtn_thebutton','')");
Page page = result.getNewPage();
我试图使用上面的代码,这会导致以下错误,可能是因为不再支持getNewPage()
:
The method GetNewPage() is undefined for type ScriptResult
我还尝试使用getJavaScriptResult()
添加一个cast,如下所示,但没有成功:
HtmlPage page1 = (HtmlPage) result.getJavaScriptResult();
导致以下错误:
Exception in thread "main" java.lang.ClassCastException: class net.sourceforge.htmlunit.corejs.javascript.Undefined cannot be cast to class com.gargoylesoftware.htmlunit.html.HtmlPage
您不应该强制转换
result.getJavaScriptResult()代码>,将其视为一个空白。如果要重定向页面,请确保已启用重定向:webClient.getOptions().setRedirectEnabled(true)代码>好的,如果是这样的话,那么我该如何导航到另一个网页并继续这样做?您需要等待javascript完成,例如使用webClient.waitForBackgroundJavaScript(100)代码>。或者创建自己的while循环:while(!page.contains(“element”))webClient.waitForBackgroundJavaScript(100)
这样做是否不需要将结果设置为typeHtmlPage
?好的,然后我如何查看结果的内容
?您只需访问页面:page.asXml()
或page.asText()