Overview
Input
https://worklog.be/archives/3422#ChromeDriver https://worklog.be/archives/3402
Proccess
何よりも。。。これがまず超絶大事
諦めないこと、逃げ出さないこと、それが一番大事。戸村さんを思い出す。元気かな。
この組み合わせどおりにしないとunknown errorになる。
ちなみに、、、
* driver80.0.3987.106
* driver-binaryが80.0.3987.16
というちょう微妙なマイナーバージョンのズレで1時間調べまくった。。
トホホ。
chromeインストール
バージョン超大事:80ね。
$curl https://intoli.com/install-google-chrome.sh | bash $google-chrome --version Google Chrome 80.0.3987.122
chrome driver
バージョン超大事:Chrome80だから:80.0.3987.106ね。
#yum -y install libX11 GConf2 fontconfig #wget https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_linux64.zip #unzip chromedriver_linux64.zip #mv chromedriver /usr/local/bin/ #chmod 755 /usr/local/bin/chromedriver #chromedriver --version chromedriver: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by chromedriver) chromedriver: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by chromedriver) #wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm #wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm #wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm #wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm #rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \ #glibc-common-2.17-55.el6.x86_64.rpm \ #glibc-devel-2.17-55.el6.x86_64.rpm \ #glibc-headers-2.17-55.el6.x86_64.rpm #chromedriver --version ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})
pyenv
Pythonの環境を整える。
3.7はopenssl依存してて、opensslはapacheと癒着してて。
apache周りはブログ壊すの怖いのでそっとしておく。
という中で
3.4系でどうよと思ったんだけど、「requests」が3.5以降っていわれて
結果として3.6に落ち着いた(アレヤコレヤと試した結果)
$sudo yum -y install gcc bzip2 bzip2-devel openssl openssl-devel readline readline-devel sqlite-devel tk-devel git $sudo git clone git://github.com/yyuu/pyenv.git /usr/local/pyenv $sudo mkdir {versions,shims} $cd plugins $sudo git clone git://github.com/yyuu/pyenv-virtualenv.git $sudo git clone git://github.com/yyuu/pyenv-update.git
$su - #echo 'export PYENV_ROOT="/usr/local/pyenv"' >> /etc/profile.d/pyenv.sh #echo 'export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"' >> /etc/profile.d/pyenv.sh $sudo pyenv install -v 3.6.0 $pyenv versions *system (set by /usr/local/pyenv/version) 3.6.0 となっているので、確認してみると、、 $python --version Python 2.6.6 になっている。2系使わん。ので、 $sudo pyenv global 3.6.0 $pyenv versions system * 3.6.0 (set by /usr/local/pyenv/version) $ python --version Python 3.6.0
module群(chromedriver_binary)
あえて分けて書く。
バージョン超大事:Chrome80だから:80.0.3987.106ね。
# pip install chromedriver_binary== 80.0.3987.106
module群
(警告でててきになったので) まずは su -でpip自体の更新
#pip install --upgrade pip #pip install requests #pip install selenium #pip install bs4
Output
動いてくれた。。。
バージョン大事
Mac環境でバージョンがことなっても動いているようだったのでマイナーバージョン
レベルの差異は気にしておらず、一発目はMacと同じ環境で試すもだめ。
プログラムに問題があるのかとheadlessのオプションを一つ一つコメントアウトして実行して。。
それでもだめでふと先日のバージョン合わないとだめ問題を気にしてみたら
そもそもダウンロードサイトに組み合わせがちゃんと書いてあって。。
その後まさかのマイナーバージョンが106と16という奇跡的に間違えやすいバージョンに
ハマってしまい、、1時間近く持ってかれた。
エラーは、
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
とでた。unknown errorとか心に悪い。