はじめに
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行目は検索ボタンをクリックします
自動テストイメージ
参考
- Selenium Documentation
リンク
- PythonとSeleniumを使ったブラウザ自動操作
あとがき
比較的、簡単にAnaconda3で作成した仮想環境上で、Seleniumを使ってブラウザを操作できました。
Anaconda環境でパッケージの管理を行う場合は、可能な限りconda install
コマンドでパッケージをインストールすることをお勧めします。
pip install
でもパッケージのインストールは可能ですが、Anaconda環境と競合する可能性があるため。