puppeteer、clickできない、クリック反応しない | amebano20190913のブログ

amebano20190913のブログ

ブログの説明を入力します。

初めてPuppeteerを使うことになって

少々はまったので覚書として記したい。

 

puppeteerから

const btn = page.$(セレクタ)

で要素取得して

await btn.click()などとやっても反応しない

もしくはローカルでは期待通りに動くのにawsなどデプロイ時テストに失敗するという時は
btn.evaluate(b => b.click())

として、ブラウザ内部から実行するのが良いようだ。

 

いろいろ調べてみると

ブラウザの表示範囲から外れてると

Puppeteerからクリックしても反応しないようだったので

===> scrollIntoViewを使ってみる

===> puppeteer.launchオプションでブラウザサイズを変えてみる

などやってみたが、ローカルでは動くがデプロイ時のテストで失敗した。

 

結局、前述のとおり、ブラウザ内部からclickするのが最善だと思う。

まぁ、vueを使ってるなら、vue test utilsで十分だと思うんですけど、、、