Java を介して HTTP フォームのテキスト フィールドに入力し、Java を介して送信ボタンをクリックして、フォームの送信後に返されるドキュメントのページ ソースを取得したいと考えています。HTTPリクエストを直接送信することでこれを行うことができますが、この方法では行いません。
22179 次
3 に答える
8
私は通常、HtmlUnitを使用してそれを行います。彼らのページに例があります:
@Test
public void submittingForm() throws Exception {
final WebClient webClient = new WebClient();
// Get the first page
final HtmlPage page1 = webClient.getPage("http://some_url");
// Get the form that we are dealing with and within that form,
// find the submit button and the field that we want to change.
final HtmlForm form = page1.getFormByName("myform");
final HtmlSubmitInput button = form.getInputByName("submitbutton");
final HtmlTextInput textField = form.getInputByName("userid");
// Change the value of the text field
textField.setValueAttribute("root");
// Now submit the form by clicking the button and get back the second page.
final HtmlPage page2 = button.click();
}
そして、あなたはここでもっと読むことができます.
于 2009-09-05T11:22:06.987 に答える
3
HTTPを直接話したくない場合(なぜ?)、Watijを見てください。
これにより、Javaプロセス内でCOMコントロールとしてブラウザ(IE)を呼び出したり、ドキュメントIDなどを使用してページ要素をナビゲートしたり、フォームに入力したり、ボタンを押したりすることができます。ブラウザを実行しているため、Javascriptは通常どおり実行されます(これを手動で実行している場合と同様)。
于 2009-09-05T11:41:56.477 に答える
0
直接要求を送信する以外の唯一の方法は、ブラウザーとのインターフェースを持つことであるため、おそらく Java アプレットを作成する必要があります。
もちろん、これを機能させるには、ページにアプレットを埋め込む必要があります。ページを制御しない場合、これは実行できません。ページを制御する場合は、はるかに面倒で困難な Java アプレットを使用する代わりに、Javascript を使用することもできます。
明確にするために、HTTP リクエストを作成する際に発生している問題は何ですか?なぜ別の方法を使用したいのですか?
于 2009-09-05T11:19:22.717 に答える