0

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

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

这是脚本将我重定向到的站点,以便执行检查:http: //java.com/js/deployJava.txt

我的代码的相关部分:

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 执行,而不是其他的?

交叉发布:http ://www.experts-exchange.com/Programming/Languages/Java/Q_27765581.html

提前致谢,

阿修罗

更新:事实证明,我能够通过发布请求获得所需的信息。感谢你的帮助!

4

1 回答 1

0

您可以使用用 HtmlUnit 包装的JWebUnit,然后执行以下操作:

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

这将暂时禁用 JavaScript

于 2012-06-21T19:28:54.377 回答