Pythonを用いて、ブラウザ操作を自動化する方法を紹介します。
seleniumの導入
seleniumをインストールします。
pip install selenium
ブラウザ操作の実装方法
ブラウザを実行する
任意のブラウザーをdriverに設定して、ブラウザを起動します。
下記ではchromeを使用していますが、他のブラウザも利用できます。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 起動するブラウザを設定
driver = webdriver.Chrome()
# URLを指定して実行
driver.get('https://*****')
ブラウザを操作する
下記はブラウザ上のテキストを更新して、更新後の値をコンソールに出力する処理を行っています。
今回使用しているseleniumには標準機能として、要素を操作する関数が用意されていますが、jsを直接記載して実行することもできます。
考え方としてはjsで制御する方法と同じで、取得した要素に対して実装したい処理を記載していきます。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 起動するブラウザを設定
driver = webdriver.Chrome()
# URLを指定して実行
driver.get('https://*****')
# 要素を取得
txt = driver.find_element(By.ID, 'txtID')
# 値を書き換える
driver.execute_script("arguments[0].value = '変更後の値'", txt) # jsを使う場合
# txt.send_keys('変更後の値') # seleniumを使う場合
# 値を取得して表示
print(txt.get_attribute('value'))
ブラウザを終了する
最後にブラウザを閉じて終了します。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 起動するブラウザを設定
driver = webdriver.Chrome()
# URLを指定して実行
driver.get('https://*****')
# 要素を取得
txt = driver.find_element(By.ID, 'txtID')
# 値を書き換える
driver.execute_script("arguments[0].value = '変更後の値'", txt) # jsを使う場合
# txt.send_keys('変更後の値') # seleniumを使う場合
# 値を取得して表示
print(txt.get_attribute('value'))
# ブラウザを終了する
driver.quit()