PythonでChromeを自動操作する方法

業務の自動化に興味があるんだけどどうやったらいいかわからない。

こんな疑問にお答えします!

  • PythonでChromeを操作できると便利なこと
  • PythonでChromeを操作してみよう

本記事の信頼性

本記事を執筆しているのはエンジニア歴10年の現役エンジニアです。初学者の方の指導歴もあるので学習のポイントを考慮して丁寧な記事を心がけております。

PythonでChromeを操作できると便利なこと

プログラムでChromeを操作できると、例えば定例的に動かしている競合Webサイトからのデータ取得を自動化できます。

今回はサンプルとして、Amazonにログインするするプログラムをご紹介します。

環境構築

Pythonが必要なので以下を参考にしてください。

seleniumというソフトウェアを使用します。コマンドプロンプトでインストールしてください。

conda install selenium

Chromeを実行するにはwebdriverというソフトウェアも必要なので、それもインストールします。

pip install webdriver_manager

Amazonにログインするサンプルプログラム

まず完成形をご紹介します。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from time import sleep

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.amazon.co.jp/")

def login_amazon():

    # ここを自分のidとパスワードに変えてください
    id = "xxxxxxxx@vvvv.zzz"
    password = "qqqqqqqqqqqqqq"

    # ログインボタンを取得
    login_button = driver.find_element_by_link_text("ログイン")
    login_button.click()

    sleep(2)

    login_id = driver.find_element_by_id("ap_email")
    login_id.send_keys(id)
    continue_button = driver.find_element_by_id("continue")
    continue_button.click()

    sleep(2)

    login_pass = driver.find_element_by_id("ap_password")
    login_pass.send_keys(password)
    signIn_button = driver.find_element_by_id("signInSubmit")
    signIn_button.click()


if __name__ == "__main__":
    login_amazon()
    driver.quit()

Chromeの起動

こちらのコードでChromeが起動してAmazonのサイトが表示されます。

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.amazon.co.jp/")

ログイン情報の設定

ご自分のログイン情報に書き換えてください。

# ここを自分のidとパスワードに変えてください
id = "xxxxxxxx@vvvv.zzz"
password = "qqqqqqqqqqqqqq"

ボタン操作

テキストが「ログイン」のHTML要素を取得して、ボタンをクリックしています。

# ログインボタンを取得
login_button = driver.find_element_by_link_text("ログイン")
login_button.click()

まとめ

いかがでしたでしょうか。意外と簡単に自動化できることがわかったかと思います。ブラウザを実行する際には2点注意があります。

  1. サイトによってはプログラムでの自動操作を利用規約で禁止しています。
  2. sleep関数で休止時間を入れてください。高負荷でサイトに迷惑を書けるのは厳禁です。
sleep(2)

自己責任の範囲で、業務の自動化に挑戦してみましょう!