[英]HtmlUnit prevent javascript verifier from redirecting
我正在编写一个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,但不能阻止其余的javascript?
交叉发布: http : //www.experts-exchange.com/Programming/Languages/Java/Q_27765581.html
提前致谢,
阿修罗
更新:事实证明,我能够通过发布请求获取所需的信息。 感谢你的帮助!
您可以使用HtmlUnit包装的JWebUnit ,然后执行以下操作:
public void testFoo() {
beginAt("blabla");
...
setScriptingEnabled(false);
...//Problematic code
setScriptingEnabled(true);
...
}
这将暂时禁用JavaScript
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.