Python

python3 seleniumを試す

python3 seleniumを試す

python3でseleniumを試してみる

python3のライブラリーseleniumを試してみます。seleniumは、WWWコンテンツのフロント周りを自動的に試験するために作られたようです。スクレーピングのライブラリーと書かれているページもあるようです。参考リンク123を見ながら試しました。

準備

環境

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ライブラリーの動作を確認しました。画面表示なしでも動作することを確認できました。さらにページのクリック等の記述方法を確認して深いところまで掘っていけることを確認したいと思います。

参考リンク

comments powered by Disqus