記事ディレクトリ
1.説明
後でサーバーでコード(selenium + Firefox)を実行する必要がある場合があるため、今すぐインストールをテストしてください。
私のシステム:centos 7.2
python:3.6
2.手順:
成功するための具体的な手順がわかりませんでした。とにかく、今は大丈夫です。会社のサーバーをいじることはできません。独自のテストを使用してテストします。
成功した結果:
1.最初のblog-shインストールを参照してください:
最終的なインストールが完了した後、どの手順が正しいかわからないので、すべての手順を書き留めます。
当時はブログを参考にしていましたが、最終的には以下のようになりましたが、インストール後もまだテストに問題がありました。
yum install xorg-x11-server-Xvfb bzip gtk3
cd /usr/local
wget https://ftp.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-US/firefox-56.0.2.tar.bz2
tar xjvf firefox-56.0.2.tar.bz2
rm -f /usr/bin/firefox
ln -s /usr/local/firefox/firefox /usr/bin/firefox
wget https://files.pythonhosted.org/packages/14/d6/650f5d2e149b83cd24989653efedf47a24cafb72e9d2dd03191a9f52f2f4/selenium-3.8.1-py2.py3-none-any.whl
pip uninstall selenium
pip install selenium-3.8.1-py2.py3-none-any.whl
yum install gtk3
yum install gtk2
cd /usr/local/bin
wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
tar xvzf geckodriver-*.tar.gz
rm -f /usr/bin/geckodriver
ln -s /usr/local/geckodriver /usr/bin/geckodriver
しかし、実行後もコードテストは失敗します。
2. 2番目のブログのインストールを参照してください。
パスは現在のパスです。フォローアップやその他の混乱を避けるために、最初にディレクトリを作成することをお勧めします。
1.ドライバーをダウンロードする
wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
tar -zxvf geckodriver-v0.19.1-linux64.tar.gz
ln -s 路径/geckodriver /usr/bin/geckodriver
2. Firefoxをダウンロードする
wget https://ftp.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-US/firefox-56.0.2.tar.bz2
yum install bzip2 # 可以先安装这个,不然会报错
tar xjvf firefox-56.0.2.tar.bz2 # need yum install bzip2
ln -s 路径/firefox/firefox /usr/bin/firefox
3.セレンをインストールする
wget https://files.pythonhosted.org/packages/14/d6/650f5d2e149b83cd24989653efedf47a24cafb72e9d2dd03191a9f52f2f4/selenium-3.8.1-py2.py3-none-any.whl
pip3 install selenium-3.8.1-py2.py3-none-any.whl
4.依存関係をインストールして実行する
yum install gtk3 gtk3-devel
yum install Xvfb libXfont xorg-x11-fonts*
pip3 install pyvirtualdisplay
5. xdpyinfoをインストールする
エラーを直接テストし、これをインストールした後は問題ないようですが、2番目のブログを参照する前に、さらにいくつかインストールしました。詳細を忘れてしまいました。他に欠落しているものがある場合は、Baiduで検索できます
yum -y install xdpyinfo
6. PyVirtualDisplayモジュールをインストールします
https://pypi.org/project/PyVirtualDisplay/
pip3 install PyVirtualDisplay
7.テストコード:
パスFirefoxBinary('/root/tools/firefox/firefox')
Ha を変更することを忘れないでください
#!/usr/bin/python3
# -*- coding:utf-8 -*-
from selenium import webdriver
from pyvirtualdisplay import Display
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
display = Display(visible=0, size=(800,600))
display.start()
# binary = FirefoxBinary('路径/firefox/firefox')
binary = FirefoxBinary('/root/tools/firefox/firefox')
driver = webdriver.Firefox(firefox_binary=binary)
driver.get('https://www.baidu.com')
print(driver.title)
driver.quit()
display.stop()
成功した結果:
自分のサーバーでもう一度実行してください:
2つ目のブログを直接参照して入手したのですが、実装後に小さな問題があり、後で解決しました。主に最初に下载驱动
ステップを追加する必要があります。cp geckodriver /usr/bin/
実行後のエラーも報告し、最終的にこの場所で解決しました。このアイデアはまだブログ1のコードを参照しています。ブログ1のshスクリプトを読んだ後、自分が自分の背後にあることに気付きました。成功はブログと関係があります。
1.ドライバーをダウンロードする
wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
tar -zxvf geckodriver-v0.19.1-linux64.tar.gz
#执行完上面会在当前文件夹下生成一个geckodriver 目录,直接复制到/usr/bin/下,不然后面运行ln -s和代码报错。
cp geckodriver /usr/bin/
ln -s 路径/geckodriver /usr/bin/geckodriver
2. Firefoxをダウンロードする
wget https://ftp.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-US/firefox-56.0.2.tar.bz2
yum install bzip2 # 可以先安装这个,不然会报错
tar xjvf firefox-56.0.2.tar.bz2 # need yum install bzip2
ln -s 路径/firefox/firefox /usr/bin/firefox
3.セレンをインストールする
wget https://files.pythonhosted.org/packages/14/d6/650f5d2e149b83cd24989653efedf47a24cafb72e9d2dd03191a9f52f2f4/selenium-3.8.1-py2.py3-none-any.whl
pip3 install selenium-3.8.1-py2.py3-none-any.whl
4.依存関係をインストールして実行する
yum install gtk3 gtk3-devel
yum install Xvfb libXfont xorg-x11-fonts*
pip3 install pyvirtualdisplay
5. xdpyinfoをインストールする
エラーを直接テストし、これをインストールした後は問題ないようですが、2番目のブログを参照する前に、さらにいくつかインストールしました。詳細を忘れてしまいました。他に欠落しているものがある場合は、Baiduで検索できます
yum -y install xdpyinfo
6. PyVirtualDisplayモジュールをインストールします
https://pypi.org/project/PyVirtualDisplay/
pip3 install PyVirtualDisplay
7.テストコード:
パスFirefoxBinary('/root/tools/firefox/firefox')
Ha を変更することを忘れないでください
#!/usr/bin/python3
# -*- coding:utf-8 -*-
from selenium import webdriver
from pyvirtualdisplay import Display
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
display = Display(visible=0, size=(800,600))
display.start()
# binary = FirefoxBinary('路径/firefox/firefox')
binary = FirefoxBinary('/root/tools/firefox/firefox')
driver = webdriver.Firefox(firefox_binary=binary)
driver.get('https://www.baidu.com')
print(driver.title)
driver.quit()
display.stop()
最終的な成功の概略図:
参照:
主に参照できるいくつかのブログ投稿を見つけます:https :
//www.jianshu.com/p/26ef8a3efd19
https://blog.csdn.net/who__are__you_/article/details/79176464