Вопрос

Я хочу добавить некоторые функции в веб-драйвер, но поскольку я вообще не знаю Java, я хочу сначала понять, как это работает.Итак, как я понимаю, есть плагин firefox (javascript) и есть java-код, который запускает firefox с установленным этим расширением, затем этот java-код прослушивает локальный порт, и когда он получает какую-то команду, java передает ее плагину firefox, который выполняет фактическую работу.А код python - это всего лишь набор ярлыков для интерфейса порта.Это правильно?

Обновить:

Спасибо за ответ, малатио.Но не мог бы кто-нибудь, пожалуйста, объяснить, почему, когда я добавляю alert('Hello world!'); после FirefoxDriver.prototype.deleteCookie = function(respond, cookieString) { в D:\webdriver-read-only\firefox\src\extension\components\firefoxDriver.js а потом беги

from webdriver_firefox.webdriver import WebDriver

wd = WebDriver()
wd.delete_all_cookies()

Я все еще не надо посмотрите на Hello world! оповещение (и получение ошибка, кстати)

Это было полезно?

Решение

Да, у тебя это получилось.Сервер Java управляет браузером с помощью специальной среды JavaScript, которая позволяет серверу управлять им.Сервер прослушивает команды, передаваемые ему через http, и когда он получает команды, он тянет за строки в браузере, чтобы заставить его что-то делать.Python API для webdriver - это код, который создает правильные http-команды для отправки на сервер webdriver.Для Webdriver могут быть или не быть хорошие описания или диаграммы для этого, но архитектура очень похожа для Selenium (фактически, Webdriver и Selenium объединяются друг с другом как "Selenium 2").Вот краткое описание той же архитектуры из Selenium docs: как -selenium-rc-работает

alt text
(источник: openqa.org)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top