0

プログラムで Web ページのテキスト フィールドに値を設定しようとしています。JSOUP を使用してページを解析し、入力テキスト フィールドについて知りました。次のコードを使用しました。

Elements elements = doc.select("input[type=text]");
 for (Iterator<Element> iterator = elements.iterator(); iterator.hasNext();)
 {
     Element element = iterator.next();
     System.out.println(element);
     System.out.println(elements.attr("name"));
     System.out.println(elements.attr("value"));
 }

このコードは正常に機能しており、web ページに値がまだ設定されていないため、elements.attr("value") が空白になっています。elements.attr("value") をプログラムで設定する可能性はありますか? 親切に助けてください。

4

2 に答える 2

1

これは jsoup ではなく、Selenium のようなツールの仕事だと思います。Selenium を使用すると、必要なページに移動し、ページ内の要素 (フォームなど) を見つけて、その値を設定できます。Jsoup はページのソースを取得し、必要な要素を除外できますが、jsoup だけを使用してページに追加する方法がわかりません。

于 2013-08-16T21:01:23.723 に答える
1

Jsoup で解析されたオブジェクトに加えた変更は、これらのオブジェクトがブラウザに表示されるページ コードに接続されていないため、ページに反映されません。

Web ページで Java アプリから値を設定するには、AJAX に目を向ける必要があります。ページからアプリへの非同期呼び出しを行い、JavaScript を使用してコールバックに必要な値を設定します。

于 2013-08-16T21:00:15.837 に答える