El proceso paso a paso para instalar selenium + Firefox en un sistema sin interfaz centos7.2

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:
Inserte la descripción de la imagen aquí

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:
Inserte la descripción de la imagen aquí

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:
Inserte la descripción de la imagen aquí

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

https://blog.csdn.net/u014283248/article/details/80631072

https://pypi.org/project/PyVirtualDisplay/

Supongo que te gusta

Origin blog.csdn.net/weixin_42081389/article/details/105563987
Recomendado
Clasificación