java - 使用 HTMLUnit 按 JS 按钮浏览网站

标签 java http-post htmlunit

我正在尝试使用 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() 添加强制转换,如下所示,但没有成功:

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();,将其视为 void。如果您的页面要重定向,请确保启用重定向:webClient.getOptions().setRedirectEnabled(true);

关于java - 使用 HTMLUnit 按 JS 按钮浏览网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58066950/

相关文章:

ios - 核心数据将数据发布到 Web 服务以防止重复发布?

java - HtmlUnit 提交表单?

java - 如何使用 slider 调整成绩字母的字体大小和间距

java - java中同名的方法

jquery - 如何使用 jQuery 设置计时器来发送 HTML 表单的 HTTP post 数据

ruby - 使用 celerity 在 linux 上登录 saleforce.com(没有 gui),JS 和 VB 错误

java - 如何在 HtmlUnit 中通过 Xpath 获取图像?

java - 与世界其他地方共享本地 GWT 项目?

java - 我无法使用 spring 框架将 Hibernate Validator 集成到 javaweb 项目中

javascript - AngularJS - 在 POST 请求中使用 this 与 $scope