Directorio de artículos
1. Descripción
Es posible que deba ejecutar código (selenium + Firefox) en el servidor más tarde, así que pruebe la instalación hoy.
Mi sistema: centos 7.2
python: 3.6
2. Pasos:
No he descubierto los pasos exactos para el éxito. De todos modos, ahora está bien, y no puedo meterme con el servidor de la empresa. Usaré mis propias pruebas para probar.
Resultados exitosos:
1. Consulte la primera instalación de blog-sh:
El primer blog al que se hace referencia
Una vez completada la instalación final, no sé qué pasos son correctos, así que anote todos mis pasos.
Me referí a un blog en ese momento, y al final, hay algunos a continuación. Después de la instalación, la prueba todavía tenía problemas.
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
Pero después de la ejecución, las pruebas de código aún fallan.
2. Consulte la segunda instalación del blog:
Luego, después del segundo blog de referencia
Tenga en cuenta que la ruta es la ruta en la que se encuentra actualmente. Se recomienda crear un directorio primero para evitar el seguimiento y otras confusiones.
1. Descarga el controlador
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. Descarga 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. Instale selenio
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. Instalar y ejecutar dependencias
yum install gtk3 gtk3-devel
yum install Xvfb libXfont xorg-x11-fonts*
pip3 install pyvirtualdisplay
5. Instale xdpyinfo
Probé el error directamente, y después de instalar esto, parece estar bien, pero antes de consultar el segundo blog, instalé algunos más. Me olvidé de los detalles. Si te faltan otros, puedes buscar en Baidu.
yum -y install xdpyinfo
6. Instale el módulo PyVirtualDisplay
https://pypi.org/project/PyVirtualDisplay/
pip3 install PyVirtualDisplay
7. Código de prueba:
Recuerda modificar la ruta 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()
Resultados exitosos:
Vuelve a hacerlo con tu propio servidor:
Porque lo obtuve refiriéndome directamente al segundo blog, pero hubo un pequeño problema después de la implementación, que se resolvió más tarde. Principalmente es necesario 下载驱动
agregar un paso en primer lugar. cp geckodriver /usr/bin/
También informé el error después de la ejecución y finalmente lo resolví en este lugar. Esta idea todavía se refiere al código del blog 1. Después de leer el script sh del blog 1, me di cuenta de que estaba detrás del mío. El éxito tiene algo que ver con los blogs.
1. Descarga el controlador
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. Descarga 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. Instale selenio
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. Instalar y ejecutar dependencias
yum install gtk3 gtk3-devel
yum install Xvfb libXfont xorg-x11-fonts*
pip3 install pyvirtualdisplay
5. Instale xdpyinfo
Probé el error directamente, y después de instalar esto, parece estar bien, pero antes de consultar el segundo blog, instalé algunos más. Me olvidé de los detalles. Si te faltan otros, puedes buscar en Baidu.
yum -y install xdpyinfo
6. Instale el módulo PyVirtualDisplay
https://pypi.org/project/PyVirtualDisplay/
pip3 install PyVirtualDisplay
7. Código de prueba:
Recuerda modificar la ruta 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()
Diagrama esquemático del éxito final:
referencia:
Principalmente encuentre algunas publicaciones de blog a las que se puede hacer referencia:
https://www.jianshu.com/p/26ef8a3efd19
https://blog.csdn.net/who__are__you_/article/details/79176464