puppeteer、clickできない、クリック反応しない

 以下の記事はアメブロで2022-12-15に投稿したものです。


初めてPuppeteerを使うことになって
少々はまったので覚書として記したい。

puppeteerから
const btn = page.$(セレクタ)
で要素取得して
await btn.click()などとやっても反応しない
もしくはローカルでは期待通りに動くのにawsなどデプロイ時テストに失敗するという時は
btn.evaluate(b => b.click())
として、ブラウザ内部から実行するのが良いようだ。

いろいろ調べてみると
ブラウザの表示範囲から外れてると
Puppeteerからクリックしても反応しないようだったので
===> scrollIntoViewを使ってみる
===> puppeteer.launchオプションでブラウザサイズを変えてみる
などやってみたが、ローカルでは動くがデプロイ時のテストで失敗した。

結局、前述のとおり、ブラウザ内部からclickするのが最善だと思う。
まぁ、vueを使ってるなら、vue test utilsで十分だと思うんですけど、、、

コメント