2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Puppeteerで作ったスクリプトを実行可能ファイル化する

Posted at

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 installyarn start みたいに実行させるわけにもいかなそう。
  • とりあえず動作確認したいだけなので、そのためだけにGUIアプリまで作るのだるい。
  • PkgというNode.jsを実行可能ファイル化してくれる君を見つけたのでそれを使うことにした。
  • いざ、作って共有!実行してもらったところ、command not found と怒られてよくよく見ると、ファイルに実行権限がなかったので、chmod 755 ./コマンド名で実行可能にしてあげる。

感想

headless: falseにした時の自動で動いてる感、パソコンハックされてる感あって面白い。
XPath使ったことなかったけど、柔軟にDOMにアクセスできるの便利だった。XPath HelperというXPathを入力すると該当の要素をハイライトしてくれるChrome拡張があるのでおススメ。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?