Puppeteerで作ったスクリプトを実行可能ファイル化する
1679 ワード
TL; DR
- Node.jsを実行可能ファイルに変換するのにPkgを使用した。
-
puppeteer.launch()
のオプションにexecutablePath: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
を指定する。要は普段使っているであろうGoogle Chromeのパスに変更してあげる必要がある。
- 共有先のPCによっては実行権限が無かったりするので、
chmod
で付与してあげる。
課題
- ブラウザ上で行っていた管理者限定の単純作業を自動化したい。
やったこと
- ブラウザ操作はPuppetterでやる。ログイン情報とかはscriptの実行時に尋ねるようにする。今回はenquirerを使った。
- 自分の権限的に見れない画面だったので、保存したHTMLファイルを貰って、それをローカルサーバーで開き、Puppetterの自動入力の実装をした。
- Puppeteerで作ったはいいが環境設定の手間をかんがえると、repositryを共有して
yarn install
→ yarn start
みたいに実行させるわけにもいかなそう。
- とりあえず動作確認したいだけなので、そのためだけにGUIアプリまで作るのだるい。
-
PkgというNode.jsを実行可能ファイル化してくれる君を見つけたのでそれを使うことにした。
- いざ、作って共有!実行してもらったところ、
command not found
と怒られてよくよく見ると、ファイルに実行権限がなかったので、chmod 755 ./コマンド名
で実行可能にしてあげる。
感想
puppeteer.launch()
のオプションにexecutablePath: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
を指定する。要は普段使っているであろうGoogle Chromeのパスに変更してあげる必要がある。chmod
で付与してあげる。yarn install
→ yarn start
みたいに実行させるわけにもいかなそう。command not found
と怒られてよくよく見ると、ファイルに実行権限がなかったので、chmod 755 ./コマンド名
で実行可能にしてあげる。headless: false
にした時の自動で動いてる感、パソコンハックされてる感あって面白い。
XPath使ったことなかったけど、柔軟にDOMにアクセスできるの便利だった。XPath HelperというXPathを入力すると該当の要素をハイライトしてくれるChrome拡張があるのでおススメ。
Author And Source
この問題について(Puppeteerで作ったスクリプトを実行可能ファイル化する), 我々は、より多くの情報をここで見つけました https://qiita.com/kiyoshidainagon/items/eec5fb0349f333e9ba17著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .