プログラムでブラウザを操作する方法【Python】

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()
Python
この記事を書いた人

エンジニアとして仕事をしています。
仕事や趣味を通して、開発やプログラミングについて学んだことを綴っていきます。
 ・実務経験は、WEBシステムのサーバーサイドコーディングがメイン
 ・アプリ開発は趣味程度

akihiro-takedaをフォローする
akihiro-takedaをフォローする
プログラミング・開発の備忘録
タイトルとURLをコピーしました