Come funziona python webdriver?
-
06-07-2019 - |
Domanda
Voglio aggiungere alcune funzionalità a webdriver , ma poiché non lo so Java, voglio capire come funziona prima. Quindi, come ho capito, c'è un plugin firefox (javascript) e c'è un codice java che avvia firefox con quell'estensione installata, quindi questo codice java ascolta una porta locale e quando riceve qualche comando, java lo segnala al plugin firefox , che fa il vero lavoro. E il codice Python è solo un insieme di scorciatoie per l'interfaccia della porta. È corretto?
Aggiornamento:
Grazie per la risposta, malatio. Ma qualcuno potrebbe spiegare perché, quando aggiungo
alert ('Hello world!');
dopo
FirefoxDriver.prototype.deleteCookie = function (rispondi, cookieString) {
nel
D: \ solo WebDriver-read-\ firefox \ src \ estensione \ components \ firefoxDriver.js
e quindi esegui
from webdriver_firefox.webdriver import WebDriver
wd = WebDriver()
wd.delete_all_cookies()
Continuo a non vedere l'avviso Hello world!
(e ottengo un errore , a proposito)
Soluzione
Sì, ce l'hai. Il server Java controlla un browser con un ambiente JavaScript speciale che consente al server di controllarlo. Il server ascolta i comandi che gli vengono dati tramite http, quando riceve comandi, tira le stringhe sul browser per farlo fare. L'API Python per webdriver è un codice che costruisce i comandi http giusti da inviare al server webdriver. Potrebbero esserci o meno buone descrizioni o diagrammi per questo per Webdriver, ma l'architettura è molto simile per Selenium (in effetti, Webdriver e Selenium vengono uniti l'uno nell'altro come "Selenium 2"). Ecco una carrellata della stessa architettura dai documenti Selenium: how-selenium- rc-opere
(fonte: openqa.org )