Photo by Sai Kiran Anagani on Unsplash
こんにちは!
個人開発者の南です。
今回はWebテストなどの自動化をする時に、使われるSeleniumのインストール方法について紹介します。
僕が実際にPythonを使って、Seleniumをインストールする時に出会ったエラーなどを実際の画像などを使って紹介していきますので、ぜひ最後まで目を通してみてください。
Seleniumとは?
Seleniumとは、自分のパソコンに入っているブラウザ(Google ChromeやFirefoxなど)をプログラムで処理をするためのツールです。
これを使うことで、PythonやJava、NodeJSといったプログラミング言語で色々操作することができます。
Seleniumを使おうと思った経緯
Seleniumを使おうと思った経緯は、今自分で個人開発をしているのですがテストのコストが増えてきているのが悩みでした。
ただ、テストはしないと行けない。
でも一回テストするのに5,6時間は最低でも掛かってしまう。。。
このままではいけない!ということで、Webの自動化テストを試みることにしました。
Seleniumのインストール
まずは、Seleniumをインストールしましょう。
pipコマンドが使える状態で下記のコマンドでSeleniumをインストールできます。
pipとは、Pythonのライブラリなどを管理するための管理ソフトウェアです。
pipが入っているかどうかは、下記のコマンドで確認することができます。
1 |
python -m pip -V |
少し話がずれましたが、Seleniumをインストールする場合は、下記のコマンドを入力します。
1 |
pip install selenium |
ちなみに、僕の場合はすでにseleniumが入っていたようで、下記のように表示されました。
1 |
Requirement already up-to-date: selenium in /usr/local/var/pyenv/versions/3.6.1/lib/python3.6/site-packages |
そこで、下記のQiitaに乗っていあるコードを記述して自分のMacから実行してみました。
Python + Selenium で Chrome の自動操作を一通りより
すると、下記のようなエラーが表示されました。。。
1 |
selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value' |
どうやら調べてみると、実際に使用しているChromeDriverのバージョンが低いことが問題のようです。
なので、Selenium ChromeDriver updateなどのように検索を書けてみました。
すると、下記の方の記事にたどり着きました。
上記の記事のとおり、下記のbrewコマンドをターミナルで実行します。
(実行するときのディレクトリはどこでも大丈夫です。)
1 |
brew install chromedriver |
しばらくすると、色々表示されます。
ただ、最後に下記のように表示されました。
1 2 3 4 5 6 |
Error: No available formula with the name "chromedriver" It was migrated from homebrew/core to homebrew/cask. You can access it again by running: brew tap homebrew/cask And then you can install it by running: brew cask install chromedriver |
意味的には、”chromedriver” という名前は使うことができません。
解決するには、「brew tap homebrew/cask」コマンドを入力したあとで「brew cask install chromedriver」を入力してください。
といった内容でした。
そこで、「brew tap homebrew/cask」を入力したあとに、「brew cask install chromedriver」を入力。
うまくいっていそうですが、下記のようなエラーが表示されました。
1 |
Error: It seems there is already a Binary at '/usr/local/bin/chromedriver'; not linking. |
すでに、chromedriverがありますという意味のエラーが。。。
仕方がないので、下記のコマンドでchromedriverを削除して入れ直すことにします。
1 |
rm -rf ディレクトリ名(内容も含め削除) |
削除した後に下記のコマンドを順番に、入力します。
1 |
brew tap homebrew/cask |
1 |
brew cask install chromedriver |
今度は無事インストールできました。
おすすめの拡張ツールXpath Helper
Seleniumを使っていると各HTMLのIDやXPathと呼ばれる記述で、どの要素をクリックするかなどを指定することが多々あります。
HTMLのIDやNameなら、特に問題ないのですが。。。
中には、IDやNameなどでうまく取ることができないといったことがおきます。
そんな時に便利なのが、このXpath Helperと呼ばれる拡張ツール。
ちなみに、Xpathとは「XML Path Language」の略のことです。
Xpathを使うことで、XML文章をツリー形式とすることで各要素を指定することができるようになります。
下記のQitaの記事がとても、すばらしいので実際に記述する方法などは下記を参照するのが良いかと思います。
まとめ
今回は、Seleniumのインストール方法を紹介しました。
もし、あなたもSeleniumを使ってテストなどの作業を自動化しようと今回紹介した内容をぜひ試してみてください。