python3でseleniumを試してみる
python3のライブラリーseleniumを試してみます。seleniumは、WWWコンテンツのフロント周りを自動的に試験するために作られたようです。スクレーピングのライブラリーと書かれているページもあるようです。参考リンクを見ながら試しました。
準備
環境
Win10+WSL2+debianな環境です。python3のバージョン等は以下のとおりです。
1
2
3
4
5
6
| $:~/python/selenium$ python3 --version
Python 3.5.3
$:~/python/selenium$
$:~/python/selenium$ pip3 list | grep selenium
selenium (3.141.0)
$:~/python/selenium$
|
google chromのインストール
まずはダウンロードします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| $:~/python/selenium$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/home/kaji/.wget-hsts'. HSTS will be disabled.
--2022-01-20 09:19:11-- https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dl.google.com (dl.google.com) をDNSに問いあわせています... 172.217.31.142, 216.239.32.10, 216.239.34.10, ...
dl.google.com (dl.google.com)|172.217.31.142|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 90862320 (87M) [application/x-debian-package]
`google-chrome-stable_current_amd64.deb' に保存中
google-chrome-stable_c 100%[=========================>] 86.65M 10.8MB/s in 7.9s
2022-01-20 09:19:19 (11.0 MB/s) - `google-chrome-stable_current_amd64.deb' へ保存完了 [90862320/90862320]
$:~/python/selenium$
|
インストールします。
1
2
3
4
5
6
7
8
9
| $:~/python/selenium$ sudo dpkg -i google-chrome-stable_current_amd64.deb
(データベースを読み込んでいます ... 現在 106172 個のファイルとディレクトリがインストールされています。)
google-chrome-stable_current_amd64.deb を展開する準備をしています ...
google-chrome-stable (97.0.4692.99-1) で (97.0.4692.99-1 に) 上書き展開しています ...
google-chrome-stable (97.0.4692.99-1) を設定しています ...
desktop-file-utils (0.23-1) のトリガを処理しています ...
mime-support (3.60) のトリガを処理しています ...
man-db (2.7.6.1-2) のトリガを処理しています ...
$:~/python/selenium$
|
バージョンの確認です。
1
2
3
4
5
| $:~/python/selenium$ which google-chrome
/usr/bin/google-chrome
$:~/python/selenium$ google-chrome --version
Google Chrome 97.0.4692.99
$:~/python/selenium$
|
WebDriver(chromdriver)のインストール
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| $:~/python/selenium$ wget https://chromedriver.storage.googleapis.com/97.0.4692.71/chromedriver_linux64.zip
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/home/kaji/.wget-hsts'. HSTS will be disabled.
--2022-01-20 09:48:55-- https://chromedriver.storage.googleapis.com/97.0.4692.71/chromedriver_linux64.zip
chromedriver.storage.googleapis.com (chromedriver.storage.googleapis.com) をDNSに問いあわせています... 142.251.42.144, 216.239.32.10, 216.239.34.10, ...
chromedriver.storage.googleapis.com (chromedriver.storage.googleapis.com)|142.251.42.144|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9982326 (9.5M) [application/zip]
`chromedriver_linux64.zip' に保存中
chromedriver_linux64.z 100%[=========================>] 9.52M 11.0MB/s in 0.9s
2022-01-20 09:48:57 (11.0 MB/s) - `chromedriver_linux64.zip' へ保存完了 [9982326/9982326]
$:~/python/selenium$
|
解凍してインストール
1
2
3
4
5
6
| $:~/python/selenium$ unzip chromedriver_linux64.zip
Archive: chromedriver_linux64.zip
inflating: chromedriver
$:~/python/selenium$
$:~/python/selenium$ sudo mv chromedriver /usr/bin
$:~/python/selenium$
|
test codeを試す
リンクにあるテストコードで動作確認します。
1
2
3
4
| $:~/python/selenium$ python3 test_selenium.py
Google
ChromeDriver - Google 検索
$:~/python/selenium$
|
動作結果は、画像として保存されます。画面表示なしのヘッドレスで、ちゃんとブラウザーが動いています。
まとめ
python3 seleniumライブラリーの動作を確認しました。画面表示なしでも動作することを確認できました。さらにページのクリック等の記述方法を確認して深いところまで掘っていけることを確認したいと思います。
参考リンク