HtmlUnit阻止javascript验证程序重定向

HtmlUnit阻止javascript验证程序重定向,java,javascript,htmlunit,Java,Javascript,Htmlunit,我正在编写一个Java程序,它可以自动将信息插入网站,然后网站会对这些信息执行一些javascript函数 我的问题是,当页面加载时,它会自动调用一些javascript来检查我的浏览器信息,然后建议我下载Java。当然,我已经安装了java,否则程序将无法运行 这是脚本将我重定向到的站点,以便执行检查: 我的代码的相关部分: WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6); HtmlPage page = webC

我正在编写一个Java程序,它可以自动将信息插入网站,然后网站会对这些信息执行一些javascript函数

我的问题是,当页面加载时,它会自动调用一些javascript来检查我的浏览器信息,然后建议我下载Java。当然,我已经安装了java,否则程序将无法运行

这是脚本将我重定向到的站点,以便执行检查:

我的代码的相关部分:

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
HtmlPage page = webClient.getPage("https://www.blahblahblah.com");
// this is where I get redirected

HtmlTextInput txtElement = (HtmlTextInput) page.getElementById("itemID");
// this returns null, because I am on a different page than what I expect
txtElement.type("my search info");

page = txtElement('\n');  // to submit the field (there is no submit button)
我尝试了所有不同的浏览器设置,但没有效果

当我在浏览器中转到同一个URL时,页面将顺利加载

当我尝试禁用重定向时,getPage返回一个空的TextPage,而不是一个HtmlPage

有没有其他人遇到过类似的问题,或者有什么见解? 有没有办法阻止这段javascript执行,而不是其他的

交叉张贴:

提前感谢,

阿修罗

更新:事实证明,我能够通过post请求获得我需要的信息。谢谢你的帮助

您可以使用wrapped with HtmlUnit,然后执行以下操作:

public void testFoo() {
  beginAt("blabla");
  ...
  setScriptingEnabled(false);
  ...//Problematic code
  setScriptingEnabled(true);
  ...
}

这将暂时禁用JavaScript

谢谢,我会看一看,看起来非常简单易用虽然我最终以另一种方式解决了我的问题,这回答了我提出的问题。非常感谢。