javascript - ReferenceError: "validate"未定义。在尝试使用 HTMLUnit 提交表单时

标签 javascript java web-crawler htmlunit referenceerror

我想提交表格到this带有 HTMLUnit 的网站,但我收到标题错误。

这是我的代码:

try (final WebClient webClient = new WebClient(BrowserVersion.CHROME, "127.0.0.1", 57703)) {
    //webClient.getOptions().setThrowExceptionOnScriptError(false);
    final HtmlPage page1 = webClient.getPage("http://tagmp3.net/");
    final HtmlDivision div = (HtmlDivision) page1.getElementById("urlForm");
    final DomNodeList<DomElement> forms = page1.getElementsByTagName("form");
    final HtmlForm form = (HtmlForm) forms.get(0);
    final HtmlTextInput textField = form.getInputByName("filepath");
    final HtmlSubmitInput button = form.getInputByName("button");
    textField.setValueAttribute(url);
    final HtmlPage page2 = button.click();
    System.out.println(page2.getBaseURL());
}

这是我得到的错误:

EcmaError: lineNumber=[4] column=[0] lineSource=[<no source>] name=[TypeError] sourceName=[http://code.jquery.com/jquery-3.1.1.min.js] message=[TypeError: Cannot set property "innerHTML" of undefined to "<form></form><form></form>" (http://code.jquery.com/jquery-3.1.1.min.js#4)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot set property "innerHTML" of undefined to "<form></form><form></form>" (http://code.jquery.com/jquery-3.1.1.min.js#4)
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:894)
    at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:637)
    at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:518)      
    blah blah blah....

我试图关闭脚本错误,但没有成功。

顺便说一句,我在网站的 HTML 中找到了这个:

<form onsubmit="return validate(this)" method="post" action="index.php">

我怎样才能解决这个问题?

最佳答案

在顶部添加这一行:

webClient.getOptions().setJavaScriptEnabled(false);

关于javascript - ReferenceError: "validate"未定义。在尝试使用 HTMLUnit 提交表单时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45843026/

相关文章:

java - 我的欧拉方法实现正确吗?

javascript - 如何使用ui-route在点击时显示一个div并在点击时隐藏其他div?

javascript - JavaScript 中有没有没有原型(prototype)的对象吗?

JavaScript 未在 jsp 中运行

离线(本地)数据的 Python Scrapy

php - 如何使用 PHP 从 HTML 文档中仅提取某些标签?

python - 在存储的数据上重播 Scrapy 蜘蛛

javascript - Gulp - 导致任务停止的错误

javascript - Ajax 调用 Controller 需要很长时间

java - 我可以使用java将文件夹中的文件分成1000个文件组吗