今回はこちらの内容です。基本公式サイトに従って行えば大丈夫です。
まずは、コマンドプロンプトから以下の内容を順番に入力します。
pip install playwright==1.8.0a1
playwright install
このように成功しました。企業ですとプロキシ等のセキュリティー設定で失敗する場合も多いと思います。詳しい方に聞いて頑張りましょう。
ここで注目は以下の3行です。
Downloading chromium v844399
Downloading firefox v1225
Downloading webkit v1423
ここがplaywrightの、seleniumとの最大の違いです。playwright-pythonはWeb Driverを必要としません。これはplaywrightが、通常のブラウザを操作するのではなく、playwright専用のブラウザを中に持っているためです。playwright専用のブラウザは、一般的なクロームやファイヤーフォックスとほぼ同じものと思われます。
seleniumはブラウザのバージョンアップにあわせWeb Driverと呼ばれるソフトを差し替える必要がありましたが、playwrightはその必要がありません。これにより、RPAを作成した場合のメンテナンス、現場をフォローする負荷が大きく下がっています。非常に素晴らしいアイディアです。
私はWeb Driverの問題への対応が嫌でVBAによるIE制御を多用していましたが、マイクロソフトのIE離れが進む中使用が厳しくなって来たのが実情で、非常に良いタイミングでplaywrightが登場してくれたことに感謝しています。
本日はあと一つだけ。
レコーディング機能です。
コマンドプロンプトから、以下の内容を入力します。
playwright codegen
しばらく待つと、ブラウザが新規に一つ立ち上がると思います。そうしましたら、レコーディングしたい操作を実際に行ってみましょう。
試しにこのサイトをヤフーで検索してみましょう。新規に立ち上がったブラウザのURLにヤフーのアドレスを貼り付け、業務自動化研究所で検索します。
レコーディングしたい操作がすべて終わったら、ブラウザを閉じコマンドプロンプトを見てみましょう。
無事にレコーディングが完了しました。これをコピーしてPythonのコードとして使用できます。Ctr + A → Ctr + Cとかでコピーすれば大丈夫です。
注意点として、現時点のバージョンは一部にバグが残っています。私が気が付いたのは、プルダウン選択の場合の文言のスペルミスです。Pythonで実行する場合エラーメッセージが出ますのですぐに気が付きます。
本日はここまでです。
playwright-pythonの注意点として、プレビュー版と今回の正式版で、コードに変更が入っています。公式にはこれしか書いていませんが、実際にはほぼすべてのコードに変更が入っています。
# old browser.newPage()
# new browser.new_page()
旧playwright-pythonは、JAVAスクリプト版との互換性を重視し、あえてPythonの命名規則に従っていなかったのですが、その点が全面に修正されました。プレビュー版を使ったことがない方には無関係なのですが、先ほどご紹介したレコーディング機能のスペルミスもこれが原因です。この法則を知っていれば、スペルミスがあっても修正できますね。
ちなみに、playwrightはクロームの拡張機能、Headless Recorderを用いてレコーディングを行うことも可能です。便利ではありますが、こちらもあくまでplaywright用のレコーディングで、playwright-pythonで使うには先ほどのスペルの修正が必要です。
どこか一か所だけレコーディングしたい時とかはHeadless Recorderが便利です。全体をレコーディングしたい時はplaywright codegenが良いと思います。
Comentarios