DrissionPage はドライバーとセッションで構成されるページです。 PythonベースのWeb自動運用統合ツールです。
POM モードを使用してページと要素の一般的なメソッドをカプセル化します。また、ブラウザ自動化の利便性と高効率を考慮して、ブラウザとリクエスト間のシームレスな切り替えを実現する、シンプルで直観的かつエレガントな要素配置構文のセットが付属しています。効率が良く、さらに良いことに、その使用法は非常に簡潔でユーザーフレンドリーであり、コードが少なく、初心者にも優しいです。
データ収集のリクエストを使用する場合、ログインしたい Web サイトに直面したときに、データ パケットと JS ソース コードを分析し、複雑なリクエストを構築する必要があり、多くの場合、検証コードや JS 難読化などのクロール対策方法に対処する必要があります。 、および署名パラメータが高い。 JS計算でデータを生成した場合、計算処理を再現する必要があり、操作性が悪く、開発効率が低くなってしまいます。
ブラウザを使用すると、これらの落とし穴をほとんど回避できますが、ブラウザはあまり効率的ではありません。そこで、このライブラリでは、これらを 1 つに統合し、必要に応じて対応するモードを切り替え、開発と運用の効率を向上させるための人間らしい使用方法を提供します。
このライブラリは、この 2 つを統合するだけでなく、よく使用される関数を Web ページ単位でカプセル化し、非常にシンプルな操作とステートメントを提供するため、Web ページの自動操作に使用すると、詳細を検討する必要が減り、関数の実装に集中できます。使いやすい。
すべてをシンプルに保ち、シンプルかつ直接的な使用方法を提供するよう努め、初心者により優しくしてください。
著者は数え切れないほどの落とし穴を踏み、その経験をすべてこのライブラリにまとめました。実用的な機能を多数内蔵しており、よく使われる機能は統合・最適化されています。
特性
1. コードは高度に統合されており、簡潔なコードが第一に追求されています。
2. ページオブジェクトはブラウザとリクエストの間で自由に切り替えることができ、ログイン状態は保持されます。
3. 非常にシンプルだが強力な要素配置構文で、チェーン操作をサポートしており、コードは非常に簡潔です。
4. 2 つのモードは、一貫した API と一貫した使用エクスペリエンスを提供します。
5. 人間化された設計、多くの実用的な機能を統合し、開発作業負荷を大幅に軽減します。
1. プログラムを実行するたびに、開いているブラウザを再利用できます。たとえば、Web ページを手動で特定の状態に設定してからプログラムを使用して引き継いだり、ログインを手動で処理してからプログラムを使用してコンテンツをクロールしたりできます。毎回ブラウザを最初から起動する必要がなく、とても便利です。
2. ini ファイルを使用して、一般的に使用される構成を保存し、それらを自動的に呼び出すことができます。また、複雑な構成項目を避けるための便利な設定 API も提供されます。
3. 非常に簡潔な配置構文は、テキストによる要素の直接配置と、前後の兄弟要素と親要素の直接取得をサポートします。
4. 強力なダウンロード ツールにより、ブラウザ操作時に高速で信頼性の高いダウンロード機能をお楽しみいただけます。
5. ダウンロード ツールは、ファイル名の競合の処理、ターゲット パスの自動作成、切断と再試行などの複数の方法をサポートしています。
6. アクセスURLには自動リトライ機能があり、間隔とタイムアウト時間を設定できます。
7. Web ページにアクセスするときに、手動で設定することなく、エンコーディングを自動的に認識できます。
8. リンク パラメーターは、デフォルトでホスト属性とリファラー属性を自動的に生成します。
9. ブラウザのプロセス ウィンドウは、ヘッドレスまたは最小化せずに、いつでも直接非表示または表示できます。
10. 適切なクロームドライバーを自動的にダウンロードできるため、面倒な設定が不要になります。
11. d モードの検索要素には待ち時間が組み込まれており、グローバル待ち時間または単一検索待ち時間を任意に設定できます。
12. click要素にはjsのclickメソッドが統合されており、パラメータ1つでclickメソッドを切り替えることができます。
13. クリックは失敗した再試行をサポートしており、クリックが成功したことを確認したり、Web ページのマスク レイヤーが消えるかどうかを判断したりするために使用できます。
14. テキスト入力は、成功したかどうかを自動的に判断し、特定の状況下で無効な入力やクリアを回避するために再試行できます。
15. d モードは、要素の属性を直接取得できるフル機能の xpath をサポートします。Selenium にはこの機能がネイティブにありません。
16. シャドウルートの直接取得をサポートし、その配下の要素を通常の要素と同様に操作します。
17. after および before 擬似要素のコンテンツへの直接アクセスをサポートします。
18. CSS セレクターを使用して、要素の直下にある > を使用して、現在の要素の直接の子要素を取得できます。この書き込み方法はネイティブではサポートされていません。
19. lxml を使用するだけで d モードのページまたは要素を解析でき、複雑なページ データのクロール速度が大幅に向上します。
20. 出力データは、作業の重複を減らすために、基本的な組版用にトランスコードおよび処理されています。
21. Selenium に簡単に接続したり、プロジェクトの移行を容易にするためにネイティブ コードを要求したりできます。
22. POM モードのパッケージ化を使用すると、テストに直接使用でき、拡張も簡単です。
23. d モード設定は debugger_address および他のパラメータと同時に互換性がありますが、ネイティブ設定には互換性がありません。
24. ここに挙げていないものもたくさんあります...