Python,Selenium:Chromeを自動操作するサンプルプログラム【Windows】

Edgeブラウザの自動操作プログラム(Python)について、サンプルプログラムを以前公開しましたが、当ブログの中でも、閲覧数が多いようです。

Python,Selenium:Edgeを自動操作するサンプルプログラム【Windows】 | 9が好きな人のブログ (nine-num-98.blogspot.com)

Pythonを使ったブラウザの自動操作は需要があるみたいですね。ということで、Chromeブラウザについても同様のサンプルプログラムを書いてみました。

自動操作の内容は、Edge版と同じくブラウザを開いて、Googleのページでキーワード検索を行う単純なものです。

開発環境

■OS、ブラウザ
・Windows10 64bit
・Google Chrome

■プログラミング言語、主なライブラリとバージョン
・Python3.9
・selenium-webdriver 4.1.3
・chromedriver

プログラム実行方法

GitHubにサンプルプログラムを公開します。https://github.com/kotetsu99/selenium_chrome

上記のディレクトリ内にあるchrome.pyがサンプルプログラムです。以下の作業で登場するコマンドは、Python環境インストール済のWindows10のCUI(コマンドプロンプトまたはAnaconda Prompt)で行います。

※WindowsのPython環境は、Microsoft StoreからPythonをインストールすることで簡単にできます。

(1)Selenium 4.1.3のインストール

Pythonのpipコマンドで簡単にインストール可能です。

pip install selenium==4.1.3

Seleniumの最新版は2022/5/15現在では、4.1.3です。

(2)Chromeドライバーのダウンロード

以下のサイトから、Chromeドライバーをダウンロード・解凍し、先ほどのフォルダの中に「chromedriver.exe」を置いておきます。

ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)

※Windows環境用のchromedriver_win32.zip をダウンロード。

(3)chrome.pyの実行

以下のコマンドを実行します。

python chrome.py

プログラム解説

chrome.py のプログラムソースコードを掲載します。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# Webドライバーパス定義
WEB_DRIVER = 'chromedriver.exe'

# 検索文字列
query = 'test'

# オプション定義
options = webdriver.ChromeOptions()
#options.add_argument('--headless')
options.add_argument('--incognito')
options.add_argument('--lang=ja')
options.add_argument('--window-size=1000,1000')

# ブラウザ起動・ページを開く
driver = webdriver.Chrome(WEB_DRIVER, options=options)
driver.get('https://google.com')

# ブラウザ操作
element = driver.find_element(By.NAME, "q")
element.send_keys(query) 
element.send_keys(Keys.ENTER) 

# ブラウザ操作終了
driver.quit()

プログラムの動作内容は、Edge版と同じく

・Chromeブラウザを起動
・Googleのページを開く
・「test」というキーワードを検索する

という簡単なものです。

オプションの指定も、Edge版と同じくoptions.add_argument というメソッドで行います。本ソースコードでは、以下のオプション設定を行っています。

・Incognito(シークレットモード)
・言語指定=日本語
・ウィンドウサイズを1000x1000
・ヘッドレスモード(上記では無効にしてある)

シークレットモードの文言が違うだけで、他はEdge版とほぼ同じです。Seleniumの仕組みやコマンドの作法については以下の書籍が参考になります。

今回は、Chrome自動操作入門ということで、非常に簡単なサンプルでしたが、AIの顔認識と組み合わせた、Chrome音楽プレイヤーを以前に公開しています。

Selenium×AIカメラで、ブラウザ音楽プレイヤーを自動操作【ラズパイ,Python,Picamera,Keras,OpenCV】 | 9が好きな人のブログ (nine-num-98.blogspot.com)

少し高度ですが、SeleniumでChrome操作ができれば、このような面白ガジェットを作れたりします。

スポンサーリンク