結論: Firefoxのヘッドレスモードを利用しました。
解決した環境
App Name | version |
---|---|
Mozilla Firefox | 61.0 |
geckodriver | 0.21.0 |
Python | 3.6.5 |
selenium | 3.13.0 |
現象が発生したバージョン
App Name | version |
---|---|
Google Chrome | 68.0.3440.84 |
ChromeDriver | 2.40.565383 |
Python | 3.6.5 |
selenium | 3.13.0 |
発生した症状
driver.page_source.encode('utf-8')
これを実行すると
<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>
こうなった。
いろいろ調査していたら、どうもSSLの証明書がうまく認証できてない感じ。
ただ、今回調査元がGeo Trast発行のもので、例のSymantec問題ではなかったので、
それじゃないっぽい。
で、なんとか解決方法がないか調べてみたのだけども解決できず、しょうがないので、Firefoxでいけるかとりあえず試してみようと思って試した結果、うまく行ったので、今後にたようなことが起きると、また調べることになりそうだったので、ここにメモ。
導入手順
Firefoxのインストールは
wget https://github.com/mozilla/geckodriver/releases/download/v0.21.0/geckodriver-v0.21.0-linux64.tar.gz
tar zxvf geckodriver-v0.21.0-linux64.tar.gz
tar xjf firefox-61.0.tar.bz2
mv firefox /usr/local/
ln -s /usr/local/firefox/firefox /usr/bin/
mv geckodriver /usr/bin/
yum install xorg-X11-server-Xvfb Xvfb
Xvfb -ac :99 -screen 0 1280x1024x16 &
export DISPLAY=:99
仮想ディスプレイを自動起動しておく。
以上で多分正常に動くはず。