2017-08-23 17 views
1

HTMLUnitでthisサイトにフォームを送信したいが、タイトルに誤りがある。ReferenceError: "validate"が定義されていません。 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.... 

私はスクリプトエラーをオフにしようとしたが、それは動作しませんでした。私はこれが固定取得できますか

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

:私は、ウェブサイトのHTMLにこれを見つけたところで

+0

あなたは、コードのわずかに大きい部分を投稿することができますか?例外があなたがここに投稿したコードに関連していると確信していますか? – Assafs

+0

私は確信しています。残りのコードは無関係です。 –

+0

textFieldとurlはどこに定義されていますか? – Assafs

答えて

0

が一番上に次の行を追加します。

webClient.getOptions().setJavaScriptEnabled(false); 
0

エッジのサポートはまだ不完全です。Firefox 52またはChromeのシミュレーションを試してみてください。また、最新のSnapshotビルドを使用してください。

+0

私は毎回試しましたブラウザが利用可能です。 –

関連する問題