codegenで生成
詳しい説明は他の記事を参考いただきたく。
playwrightにはブラウザの操作からコード生成してくれる仕組みがあるので
まずこれでやりたい操作を作る。
八割九割出来上がるのでゼロから作るより遥かに楽。
残りの二割程度は手直しが必要。
$ pip install playwright
$ playwright install
$ playwright codegen https://qiita.com/
スクリーンショットを取る
Windowsで作ったあとLinuxに持っていき、うまく動かない原因は日本フォントが入っていないことでした。X関連のパッケージを入れておらずHeadless=True
の場合はスクリーンショットを撮ってみると一目瞭然です。
page.screenshot(path="screenshot.png")
HeadlessをFalseにする
どこで想定どおり動いていないのかを見つけるには上記のスクリーンショットを取る、もしくはHeadless=False
にして直接画面を見るのがよろしい。
page.content()をファイル出力
やはり最後はプリントデバッグ。
要素が無いなど困ったときに現在表示中のソースを出力してしまえばよい。
ログインしていたつもりがログインできていなかったなどに気づけた。
with open(path, mode='w') as f:
f.write(page.content())