0

以下の例を使用します。Mojo::DOMを使用して解析された HTML ファイルがあります。ただし、いずれかのページに、入力が必要な対応するテキストボックスを備えたラベルで構成される読み取りに必要な 2 つのクラス (質問と回答) があるシナリオに遭遇しました。適切な値を適切なボックスに入力できるように、ラベルとそれに対応するテキストボックスを取得する際に問題が発生しています。

<td class="Question">1</td>
<td class="Answer"><input type="text"/></td>
<td class="Question">2</td>
<td class="Answer"> <input type="text"/></input></td>
<td class="Question">3</td>
</td class="Answer"><input type="text"/></td>

perl を使用してどのようにすればよいかについてのアイデアを教えてください。各ラベルの内部テキストは、スクリプトの実行ごとに変わることに注意してください。

4

1 に答える 1

0

Mojo::Dom をいじった後、 labels の値を選択できたので、それを WWW::Mechanize と組み合わせて入力テキスト ボックスに入力しました。

my $url = "http://MyURL/Path"
my $mech  = WWW::Mechanize->new( agent => 'Mozilla/4.0 (compatible; MSIE 8.0; Windows 
NT 6.1)');
$mech->get($url);
$dom =  Mojo::DOM->new($mech->content);
my @temp =  $dom->find('.Question')->map(sub{$_->text})->each ;

それが返す配列は、私が望んでいた順序でそれを残します。http://blogs.perl.org/users/joel_berger/2012/05/using-mojodom.htmlから参照を得ました。これは、使いやすいツールが必要な場合に本当に役立ちました。

于 2012-08-30T12:55:44.237 に答える