pythonからchromeを操作する

pythonからchromeを操作する。

pythonでseleniumライブラリを利用することで、
ChromeやFirefoxを操作できるようだ。

Windows環境で試してみた。

pipでseleniumドライバーをインストール

1
python -m pip install selenium

ChromeのWebDriverをダウンロード

https://sites.google.com/a/chromium.org/chromedriver/downloads

zipファイルがダウンロードされ、解凍すると「chromedriver.exe」というファイルが1つ入っていた。
これを経由してChromeへアクセスするようだ。

pythonから呼び出し

準備(必須ではない)

chromedriver.exeが存在する場所にPATHを通す。
またはPATHが通っているディレクトリにchromedriver.exeを置く。

参考:この方法は必須ではない。
ドライバーのインスタンス生成時に、chromedriver.exeのフルパスを指定できるので、その方法を用いても良い。

pythonからchromeを利用する。

まずは、seleniumのwebdriverをインポート。

1
from selenium import webdriver

webdriverのインスタンスを生成する。

1
2
3
4
5
6
7
<h1>chromedriver.exeにPATHが通っている場合。</h1>
driver = webdriver.Chrome()
<h1>chromedriver.exeにPATHが通っていない場合。</h1>
path_to_chromedriver = 'C:/usr/chromedriver.exe'
driver = webdriver.Chrome(path_to_chromederiver)
<h1>または</h1>
driver = webdriver.Chrome(executable_path = path_to_chromedriver)

ここまで実行するとchromeが立ち上がる。
画面を非表示にしたい場合は、Optionを定義しヘッドレスモードで起動する。

1
2
3
4
5
6
7
8
9
<h1>ヘッドレスオプションの準備</h1>
options = webdriver.ChromeOptions()
options.add_argument('--headless')
<h1>インスタンス生成</h1>
driver = webdriver.Chrome(options = options)
<h1>または</h1>
driver = webdriver.Chrome(
    executable_path = path_to_chromedriver,
    options = options)

URLを開く

1
driver.get('https://www.yahoo.co.jp/')

HTMLを取得する

1
html = driver.page_source

スクリーンショットを保存する。

1
driver.save_screenshot('screenshot.png')

javascriptを実行して、結果を得る。

1
page_height = driver.execure_script('return document.body.scrollHeight')

ウインドウサイズを設定する。

1
driver.set_window_size(1280, 800)

終了処理

1
driver.quit()

これでChromeが閉じる。

まとめ

ひたすらスクリーンショットを取らなくてはならないときなど便利そうだ。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA