PythonでSeleniumを使用する時の、基本的な使い方について記載します。
ライブラリのインストール
pip install selenium
pythonでimportする場合
from selenium import webdriver
from selenium.webdriver.support.select import Select
指定したURLに遷移する
# Chromeを起動
driver = webdriver.Chrome()
# 指定したURLに遷移する
driver.get("指定したURL")
テキストボックスに入力する
name属性などを取得してから、テキストボックスに文字を入力します。
# 指定したname属性のテキストボックスに文字を入力する
element = driver.find_element_by_name("name属性")
element.send_keys("テキスト")
# 指定したid属性のテキストボックスに文字を入力する
element = driver.find_element_by_id("id属性")
element.send_keys("テキスト")
# 指定したclass属性のテキストボックスに文字を入力する
element = driver.find_element_by_class_name("class属性")
element.send_keys("テキスト")
# class属性A内のclass属性Bのテキストボックスに文字を入力する
element = driver.find_element_by_class_name("class属性A").find_element_by_name("class属性B")
element.send_keys("テキスト")
確認ダイアログを閉じる
# 確認ダイアログを押下する
alert = driver.switch_to.alert
alert.accept()
ボタンを押下する
ボタンを押下する場合、onclick内のJavaScriptを実行させるか、指定した属性を押下する方法があります。
# JavaScriptの実行
driver.execute_script("JavaScript名")
# 指定したclass属性を押下する
driver.find_element_by_class_name("class属性").click()
Webブラウザを閉じる
# 開いているWebブラウザを閉じる
driver.quit()
例:ログインIDを入力する方法
Qiitaのログイン画面から、ログインID・パスワードを入力する場合以下のようにします。
from selenium import webdriver
from selenium.webdriver.support.select import Select
# Chromeを起動
driver = webdriver.Chrome()
# 指定したURLに遷移する
driver.get("https://qiita.com/login")
# 「ユーザ名またはメールアドレス」を入力
driver.find_element_by_name("identity").send_keys("ログインID")
# 「パスワード」を入力
driver.find_element_by_name("password").send_keys("パスワード")
# 「Qiitaにログイン」を押下
driver.find_element_by_name("commit").click()
# Webブラウザを閉じる
driver.quit()
参考
https://tanuhack.com/selenium/#CSSXPath
https://www.seleniumqref.com/index.html