Ya tengo instalado un servidor Apache con Python 3.x. En este momento estoy tratando de ejecutar en el servidor un pequeño programa de python (digamos filename.py). Pero este programa de python usa el controlador web para Chrome de Selenium. También usa sleep from time (pero creo que esto viene por defecto, así que supongo que no será un problema)
from selenium import webdriverCuando codifiqué este programa por primera vez en mi computadora, no solo tuve que escribir la línea de código anterior, sino también descargar manualmente el controlador web para Chrome y pegarlo en /usr/local/bin. Aquí está el enlace al archivo en caso de que se lo pregunte: Webdriver for Chorme
De todos modos, no sé cuáles son las equivalencias para configurar esto en mi servidor. ¿Tienes alguna idea de cómo hacerlo? ¿O algún concepto que pueda aprender relacionado con la instalación de paquetes en un servidor Apache?
Solución simple:
No necesita instalar el controlador en usr/local/bin . Puede tener el .exe en cualquier lugar y puede especificarlo con una ruta ejecutable, vea aquí un ejemplo.
Solución para ejecutar en un servidor
Si tiene Python instalado en el servidor, idealmente> 3.4 que viene con pip por defecto. Luego instale ChromeDriver en un servidor independiente, siga las instrucciones aquí
Tenga en cuenta que Selenium siempre necesita una instancia de un navegador para controlar.
Afortunadamente, existen navegadores que no son tan pesados como los navegadores habituales que conoces. No tienes que abrir IE/Firefox/Chrome/Opera. Puede usar HtmlUnitDriver que controla HTMLUnit, un navegador Java sin interfaz que no tiene ninguna interfaz de usuario. O un PhantomJsDriver que controla PhantomJS, otro navegador sin interfaz que se ejecuta en WebKit.
Esos navegadores sin cabeza consumen mucha menos memoria, generalmente son más rápidos (ya que no tienen que renderizar nada), no requieren que una interfaz gráfica esté disponible para la computadora en la que se ejecutan y, por lo tanto, son fáciles de usar en el servidor. .
Ejemplo de código de configuración sin cabeza
op = webdriver.ChromeOptions() op.add_argument('headless') driver = webdriver.Chrome(options=op)También vale la pena leer sobre la ejecución de Selenium RC, vea aquí sobre eso.