28

Web サイトに接続し、ログインしています。

ウェブサイトは私を新しいページにリダイレクトし、Mechanize はすべての Cookie とリダイレクト ジョブを処理しますが、最後のページを取得できません。私は Firebug を使用し、同じ作業を再度行ったところ、Mechanize で渡さなければならないページがさらに 2 つあることがわかりました。

ページをざっと見てみると、JavaScript と HTML のコードがいくつかありますが、通常のページ コードのようには見えないため、理解できませんでした。それらのページは何のためにあるのですか? どうすれば他のページにリダイレクトできますか? これらを渡すにはどうすればよいですか?

4

3 に答える 3

38

Javascript でページを処理する必要がある場合は、WATIRまたはSeleniumを試してください。これらは実際の Web ブラウザーを駆動するため、あらゆる Javascript を処理できます。WATIR Classic は、特定の拡張機能がインストールされた IE または Firefox のいずれかを必要とし、動作中に画面上でページが点滅するのを確認できます。

あなたの他のオプションは、問題のあるページのJavascriptが何をするかを理解し、手動でバイパスすることですが、それは面倒なようです.

于 2009-04-29T13:05:13.173 に答える
14

現在、Mechanize は JavaScript を処理していません。最終的にJohnsonの機能を Mechanizeにマージするという話がありますが、それが実現するまでは、次の 2 つのオプションがあります。

  1. これらのページをトラバースする方法を理解できるように、JavaScript を十分に理解してください。
  2. Watirを使用して、JavaScript を理解する実際のブラウザーを自動化します
于 2009-04-29T13:11:52.503 に答える