Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用JavaScript的HTMLunit onclick函数_Javascript_Html_Onclick_Htmlunit - Fatal编程技术网

禁用JavaScript的HTMLunit onclick函数

禁用JavaScript的HTMLunit onclick函数,javascript,html,onclick,htmlunit,Javascript,Html,Onclick,Htmlunit,我在使用HtmlUnit访问网站时遇到问题。当我在启用JavaScript的情况下使用“webclient.getPage(URL)”时,该站点会返回错误和站点超时,但当我禁用JavaScript时,我可以获取该页面。当我尝试从一个页面移动到另一个页面时,问题就出现了,所有导航都是以HTML标记的“onclick”属性中的JavaScript方法的形式在站点上完成的 我在获取页面(originalPage)时禁用了JavaScript,但在获取页面并尝试在“onclick”属性中执行JavaSc

我在使用HtmlUnit访问网站时遇到问题。当我在启用JavaScript的情况下使用“webclient.getPage(URL)”时,该站点会返回错误和站点超时,但当我禁用JavaScript时,我可以获取该页面。当我尝试从一个页面移动到另一个页面时,问题就出现了,所有导航都是以HTML标记的“onclick”属性中的JavaScript方法的形式在站点上完成的

我在获取页面(originalPage)时禁用了JavaScript,但在获取页面并尝试在“onclick”属性中执行JavaScript方法时,我将其打开。JavaScript方法位于“originalPage”中的脚本标记中

originalPage = webClient.getPage(url);

webclient.setjavascriptenabled(true)

javaScriptCode = "javascript:getNextPage();";
scriptResult = originalPage.executeJavaScript(javaScriptCode);
nextPage = scriptResult.getNewPage();
我的代码不返回下一页,而是返回与“originalPage”相同的页面。有没有可能因为我在禁用JavaScript时获得了“originalPage”,所以它无法正常工作?在调用getPage()加载JS文件时,有什么方法可以选择吗

(我已经验证了JavaScript方法在浏览器中是否有效)

有没有可能因为我在禁用JavaScript时获得了“originalPage”,所以它无法正常工作

当然

在调用getPage()加载JS文件时,有什么方法可以选择吗

这是可能的,但您必须实现自己的
WebConnection
,并在HTML处理之前解析HTML文本。绝对不是一个有趣的任务。此外,如果您最终将HTML解析为文本,那么就不需要HTMLUnit了,对吗


另一种方法是将要执行的JS代码转换为HTTP请求,并使用
WebRequests
手动启动它们。或者,如果您不介意使用与Java无关的解决方案,请使用具有更好JS支持的解决方案。

有没有一种方法可以强制我的JavaScript方法工作,而无需引用原始页面?就像web浏览器中的控制台一样?您必须在页面中执行JS