0

私は Perl から始めて、ページからログアウトするスクリプトを実行しようとしています (ログイン スクリプトは既に実行しています)。WWW::Mechanizeアイデアは、 (私も試しました)からfind_link関数を使用しWWW::Mechanize::Firefoxてログアウトリンクを見つけようとしていますが、機能していません。だから、私の質問は:

イベントonmouseoverはそのリンクを回避していますか? WWW::Mechanize::FirefoxJavaScriptをサポートしていると思いますが、それは正しくないかもしれません。

<a class="hb2" href="/goform/Logout?logout=Logout" onmouseover="(window.status='Logout');
return true">Logout</a>

私がやりたいことをする方法はありますか?どんな助けや提案も高く評価されます。

4

3 に答える 3

1

私のMozRepl (WWW::Mechanize::Firefox を使用する必要がある) アドオンがうまくインストールされていないようです。@gangabass、@andy HTML を確認したところ、ソースにあるようでした。@choroba で、WWW::Mechanize::Firefox が WWW::Mechanize と同じように動作する理由を確認し、アドオンを再インストールしました。その後、すべてが完璧に機能しました。時間を割いて私を助けてくれた皆さん、どうもありがとう。

于 2012-12-06T15:39:33.887 に答える
0

ソース HTML にこの HTML フラグメントが含まれていますか? つまり、HTML コード フラグメントは Javascript を介して動的に作成されるか、ソース HTML にフレームが含まれている可能性があります。

したがって$mech->content()、このリンクを処理するための出力とコードを表示してください (上記のように$mech->find_link( text => 'Logout' );動作するはずです)。

于 2012-12-06T02:47:17.503 に答える
0

mech-dumpコマンド ライン ユーティリティを使用してページをダンプしましたか? それを試してみてください。の出力にリンクが表示される場合mech-dumpは、呼び出しがfind_all_links()間違っています。

リンクが表示されないmech-dump場合は、HTML の形式が正しくないか、HTML が JavaScript を使用してブラウザーで生成されている可能性があります。

于 2012-12-06T03:03:01.913 に答える