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)

È stato utile?

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

 alt text
(fonte: openqa.org )

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top