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)
这样做是否不需要将结果设置为type
HtmlPage
?好的,然后我如何查看
结果的内容
?您只需访问页面:
page.asXml()
page.asText()