nprogram’s blog

気ままに、プログラミングのトピックについて書いていきます

Anaconda3で作成した仮想環境上で、Seleniumを使ってブラウザを操作する [Windows]

はじめに

PythonとSeleniumを使ってブラウザを操作する作業を行いたいと思います。

Pythonのバージョンやインストールするモジュールのバージョンによって、プログラム動作が変わる可能性があります。

そのため、仮想環境上でPythonやSeleniumのモジュールをインストールして実行したいと思います。

環境

  • Windows version : 1903 (Windows 10 Home)
  • conda version : 4.7.12
  • conda-build version : 3.18.8
  • python version : 3.7.3.final.0
  • selenium : 3.141.0

手順

(1) Anaconda3をインストールする

(2) Anaconda3で仮想環境を作成する

Anaconda3のGUIから行う方法とAnaconda Promptから行う方法があります。 (3) Pythonをインストールする

(4) Pythonのインストールを確認する

(5) Seleniumをインストールする

上記の手順(3) - (5) は、Anaconda Promptでは以下の手順で実施可能です。

  • conda create --name myenv python=3.7

    • 仮想環境作成 (仮想環境名をmyenv、使用Python versionを3.7にする) (※Seleniumを使う場合はPython3.7が必要と思われます)
  • activate [仮想環境名]

    • 仮想環境を切り替える
  • conda install selenium

    • Seleniumをインストールする

(6) WebDriverをインストールする ダウンロードしてきた実行ファイル(chromedriver.exe)をPC内の任意の場所に保存してください。(本コード例ではF:/tool/ChromeDriver_77_0_3865_40/chromedriver.exeに保存)

(7) jupyter notebook上でコードを動作させる

早速ブラウザを自動操作しましょう

以下のコードをjupyter notebook上で動作させます。

コード例

from selenium import webdriver
 
driver = webdriver.Chrome("F:/tool/ChromeDriver_77_0_3865_40/chromedriver.exe")
driver.get("http://www.yahoo.co.jp")
 
elem_search_word = driver.find_element_by_id("srchtxt")
elem_search_word.send_keys("test")

elem_search_btn = driver.find_element_by_id("srchbtn")
elem_search_btn.click()

コード説明

  • 1行目:webdriverモジュールをインポートしています
  • 3行目:WebDriverのパスを指定してChromeを起動します
  • 4行目:Yahooのページをブラウザで開きます
  • 6行目は入力したいテキストフィールドの要素を取得しています。このページのHTMLソースを見ると、検索語を入力するテキストフィールドのIDがsrchtxtということがわかるので、find_element_by_idメソッドを使ってこの要素を取得します。
  • 7行目は取得した要素にsend_keysメソッドを使ってtestという文字を入力しています。同様にして8行目は検索ボタン要素の取得、9行目は検索ボタンをクリックします

自動テストイメージ

f:id:nprogram:20190918172354p:plain

参考

リンク

あとがき

比較的、簡単にAnaconda3で作成した仮想環境上で、Seleniumを使ってブラウザを操作できました。

Anaconda環境でパッケージの管理を行う場合は、可能な限りconda installコマンドでパッケージをインストールすることをお勧めします。

pip installでもパッケージのインストールは可能ですが、Anaconda環境と競合する可能性があるため。