2018年4月1日日曜日

macでpuppetteerを動かしていてスクリーンセーバーが動くと出る?エラー

スクリーンセーバーが動くと下記エラーが出てしまう模様。
回避策は??


puppeteerでうまく遷移できないことが有る

現状原因は不明だが遷移できないことが有る。。(再実行すると問題なく動いてしまったりする。。)

page.clickやelement.tapは成功しているようなのだがページ遷移しないという症状。

非ヘッドレスで動かしている際、この症状が出た状態で、ブラウザのウィンドウサイズをいじっていたら突如遷移できるようになったので、ブラウザ上でのページ表示サイズが関係している??

----
その後、エミュレートオプションを'iPhone 5'にしたら安定するようになった(それまでは'iPhone 6'にしていた)。

const pptrDevices = require('puppeteer/DeviceDescriptors');
var emulate_options = pptrDevices['iPhone 5'];
await page.emulate(emulate_options);

puppeteerで既存セッションを使って自動ログイン

ログイン処理も自動化したいが、画像を使った認証処理などが有るとid/pw自動入力だけでは自動ログインできない。。

が、puppeteer.launchのuserDataDirオプションを使えば、pc上に保存された既存クッキーなどを使用できる。

このオプションで適当なディレクトリを指定し、puppeteerを動かして一度手動入力でログインすると、指定したディレクトリ配下にクッキーなどが保存される。
以後このクッキーが使用されるので、ログイン処理をスキップできる。