¿Cómo funciona python webdriver?
-
06-07-2019 - |
Pregunta
Quiero agregar algunas funciones a webdriver , pero como no sé Java, quiero entender primero cómo funciona. Entonces, como lo entiendo, hay un complemento de Firefox (JavaScript) y hay un código Java que inicia Firefox con esa extensión instalada, luego este código Java escucha un puerto local y cuando recibe algún comando, Java lo señala al complemento Firefox , que hace el trabajo real. Y el código de Python es solo un conjunto de accesos directos a la interfaz del puerto. ¿Es correcto?
Update:
Gracias por la respuesta, malatio. Pero, ¿podría alguien explicar por qué cuando agrego
alert ('¡Hola mundo!');
después
FirefoxDriver.prototype.deleteCookie = function (responder, cookieString) {
en
D: \ webdriver-read-only \ firefox \ src \ extension \ components \ firefoxDriver.js
y luego ejecuta
from webdriver_firefox.webdriver import WebDriver
wd = WebDriver()
wd.delete_all_cookies()
Todavía no veo la alerta Hello world!
(y recibo una error , por cierto)
Solución
Sí, lo tienes. El servidor Java controla un navegador con un entorno especial de JavaScript que le permite al servidor controlarlo. El servidor escucha los comandos que se le dan a través de http, cuando recibe comandos, tira de las cadenas del navegador para que haga cosas. La API de Python para webdriver es un código que construye los comandos http correctos para enviar al servidor webdriver. Puede haber o no buenas descripciones o diagramas para esto para Webdriver, pero la arquitectura es muy similar para Selenium (de hecho, Webdriver y Selenium se están fusionando entre sí como Selenium 2). Aquí hay un resumen de la misma arquitectura de los documentos de Selenium: how-selenium- rc-works
(fuente: openqa.org )