ブラウザのテストや操作を自動化出来るSeleniumを試してみた。
環境はWindows10とPython3。
seleniumのインストール
pipでseleniumをインストール
pip install selenium
ChromeDriverを入手
下記サイトから各OS用のChromeDriverを入手(記事時点では2.33)
Windowsの場合はダウンロードしたzipを解凍してchromedriver.exeを適当な場所に配置。
実行
Chromeで楽天ブックスのウルトラサンをカートに入れて購入手続き、ログインまで進むコードです。
- 先程ダウンロードしたChromeDriverのパスに置き換えてください。
- 楽天のID,パスワードを自身のものに置き換えてください。
from selenium import webdriver
from selenium.webdriver.common.keys import Keysbrowser = webdriver.Chrome(executable_path='設置したchromedriver.exe')
# ポケモンウルトラサン
browser.get('https://books.rakuten.co.jp/rb/15142601/')
# カートに追加
browser.find_element_by_class_name('new_addToCart').click()
# 購入手続きへ
browser.find_element_by_id('js-cartBtn').click()#ユーザーID
browser.find_element_by_name('u').send_keys('user_id')
#パスワード
browser.find_element_by_name('p').send_keys('password')
#次へボタン→購入確定画面へ
browser.find_element_by_name('submit').click()
実行するとChromeが新しいウィンドウで立ち上がり、上記の操作を順番に実行していきます。
立ち上がるウインドウは新規ウインドウになり、セッション等は初期化される模様。
また「Chromeは自動テストソフトウェアによって制御されています。」という表示が出ます。
各コード内の要素はChromeのデベロッパーツール→Elementsタブで画面を見ながら要素を辿っていくことで見つけることが出来ます。
Pythonでテスト自動化を実現しよう(unittest Jenkins Selenium 活用編)
- 作者: kenpapa
- 発売日: 2017/06/16
- メディア: Kindle版
- この商品を含むブログ (1件) を見る