RPA

【Selenium IDE】コマンドラインで実行する方法がややこし過ぎて頭の整理のためにまとめました【Mac編】

RPA
この記事は約9分で読めます。

とっちゃん@nyanco! です。

今回はSelenium IDEをコマンドラインで実行できるようにする方法がややこし過ぎて現状を頭の整理のためにまとめました【Mac編】です。

肉玉にゃんこ

ちなみにまだコマンドラインで実行できるところまでできてませんにゃ〜

スポンサーリンク

必要なもの

Selenium IDEをコマンドラインで動かすために必要なものリストです。公式ページより。

コマンドラインに慣れてないのもありますが、ほんとにほんとにほんとにややこしいです。

Selenium IDE

主役。これがなくては始まりません。

ブラウザ(Chrome、FireFox)の拡張機能なので一番導入が簡単です。

Homebrew

MacOSのソフトウェア管理システム。

後述の「nodebrew」をインストールする時に使用します。

「Homebrew」についての記事はこちら。

インストールできたか確認

無事にインストールできたかの確認は、バージョン確認のコマンドでできます。

brew -v

と入力して、

Homebrew 3.1.12
Homebrew/homebrew-core (git revision e1b8998e2e; last commit 2021-06-20)

のように表示されたらインストール確認OKです!

以下も同様に確認していきます。

nodebrew

後述する「Node.js」のバージョン管理ツール。

「Node.js(npm)」をインストールする時に使用します。

インストールは「Homebrew」コマンドである下記でできます。

brew install nodebrew

インストールできたか確認

nodebrew -v

Node.js

.jsなので実質はJavaScript。

本来はクライアント(ローカル)側で動くのがJavaScriptですが、サーバー側で動くのが「Node.js」で、サーバーサイドJavaScriptとも呼ばれてるそう。

インストールは「nodebrew」コマンドで、

nodebrew install-binary v16.3.0

でインストールできます。

末尾の数字はNode.jsのバージョンですが、インストールできるバージョンの確認方法は、

nodebrew ls-remote

というコマンドでズラッと表示されます。

肉玉にゃんこ

基本、最新バージョンで良さそうですにゃ〜

インストールできたか確認

node -v

npm(node package manager)

「Node.jp」をインストールするとセットでついてくる「Node.jp」のパッケージマネージャー。

肉玉にゃんこ

ここで言うパッケージとは、Node.jpの予め用意されている便利な機能をまとめたものですにゃ〜

後述する「Node.js」のパッケージ「selenium-side-runner」「ブラウザードライバー」をインストールする時に使用します。

インストールできたか確認

npm -v

ブラウザードライバー

使用するブラウザー毎にドライバーのインストールが必要です。

肉玉にゃんこ

ドライバーは「Node.js」のパッケージとして「npm」でインストールしますにゃ〜

Google Chrome

npm install -g chromedriver

Microsoft Edge

npm install -g edgedriver

FireFox

npm install -g geckodriver

Safari

サファリは最新バージョンに同梱されているとのことです。

インストール確認方法

Chromeドライバーしか確認してませんが、下記のように「ドライバー名 -v」で確認できるかと。

chromedriver -v

selenium-side-runner

Selenium IDEをコマンドラインで動かすための「Node.js」のパッケージ。

今回したいことの根幹になるパッケージですが…なぜかこちらがうまくインストールできず頓挫しております。

とりあえず、インストールは下記コードから。

npm install -g selenium-side-runner

インストールできたか確認

selenium-side-runner -V

筆者はエラーでインストールできず…

「npm WARN ERESOLVE overriding peer dependency」というエラーからズラズラと警告っぽいメッセージが出てインストールできずにおります。

Last login: Sun Jun 20 15:12:37 on tys00
xxxiMac:~ xxx$ npm install -g selenium-side-runner
npm WARN ERESOLVE overriding peer dependency
npm WARN Found: selenium-webdriver@4.0.0-alpha.4
npm WARN node_modules/selenium-side-runner/node_modules/selenium-webdriver
npm WARN   selenium-webdriver@"4.0.0-alpha.4" from selenium-side-runner@3.17.0
npm WARN   node_modules/selenium-side-runner
npm WARN     selenium-side-runner@"*" from the root project
npm WARN 
npm WARN Could not resolve dependency:
npm WARN peer selenium-webdriver@"4.0.0-alpha.1" from jest-environment-selenium@2.1.2
npm WARN node_modules/selenium-side-runner/node_modules/jest-environment-selenium
npm WARN   jest-environment-selenium@"2.1.2" from selenium-side-runner@3.17.0
npm WARN   node_modules/selenium-side-runner
npm notice 
npm notice New minor version of npm available! 7.15.1 -> 7.18.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.18.1
npm notice Run npm install -g npm@7.18.1 to update!
npm notice 
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! Found: node-notifier@5.4.5
npm ERR! node_modules/selenium-side-runner/node_modules/node-notifier
npm ERR!   node-notifier@"^5.4.2" from @jest/reporters@24.9.0
npm ERR!   node_modules/selenium-side-runner/node_modules/jest-cli/node_modules/@jest/reporters
npm ERR!     @jest/reporters@"^24.9.0" from @jest/core@24.9.0
npm ERR!     node_modules/selenium-side-runner/node_modules/jest-cli/node_modules/@jest/core
npm ERR!       @jest/core@"^24.7.1" from jest-cli@24.7.1
npm ERR!       node_modules/selenium-side-runner/node_modules/jest-cli
npm ERR!         jest-cli@"24.7.1" from selenium-side-runner@3.17.0
npm ERR!         node_modules/selenium-side-runner
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peerOptional node-notifier@"^8.0.1 || ^9.0.0" from jest-cli@27.0.4
npm ERR! node_modules/selenium-side-runner/node_modules/jest/node_modules/jest-cli
npm ERR!   jest-cli@"^27.0.4" from jest@27.0.4
npm ERR!   node_modules/selenium-side-runner/node_modules/jest
npm ERR!     peer jest@">=23.0.0" from jest-environment-selenium@2.1.2
npm ERR!     node_modules/selenium-side-runner/node_modules/jest-environment-selenium
npm ERR!       jest-environment-selenium@"2.1.2" from selenium-side-runner@3.17.0
npm ERR!       node_modules/selenium-side-runner
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /Users/xxx/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xxx/.npm/_logs/2021-06-20T06_54_35_228Z-debug.log

エラーメッセージを解読したら解決の糸口が見えそうですが、疲れたので今回は一旦ここまで…

参考にさせていただいたサイト

npmとは - Qiita
なんとなくCLIなどで打ち込んでるnpm。 正直よくわからずに使っているところがあったので、概要を調べまとめてみた。 npmとは Node.jsのパッケージを管理するもの Node Package Manager の略 ...
何でHomebrewからじゃなくNodebrewでNode.jsのバージョン管理するのか | ocws BLOG

本記事がどなたかの参考になれば幸いです。

今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧

コメント