Можно ли установить файл Chrome Webdriver в качестве URL? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть этот код для установки системных свойств:

System.setProperty("webdriver.chrome.driver", "src\\main\\resources\\driver\\chromedriver.exe");

Можно ли сохранить исполняемый файл chromedriver в GitHub и использовать его в разных проектах?Как то так:

System.setProperty("webdriver.chrome.driver", "https://path_to_file/chromedriver.exe");

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Прежде всего hhttps://path_to_file/.. - это URL , который в разговорной речи называется веб-адресом - это ссылка на веб-ресурс , который указывает его местоположение на компьютере.сеть и механизм ее получения.URL - это определенный тип Унифицированный идентификатор ресурса (URI) . HTTP-протокол позволяет / позволяет клиентскому приложению (обычно веб-браузеру) создавать HTTP-запросы, содержащие имя веб-сайта, с которым он хочет связаться для обмена информацией.

В Устранение неполадок- ChromeDriver упомянуто, что

Путь к исполняемому файлу chromedriver должен быть установлен системным свойством webdriver.chrome.driver , а двоичный файл chromedriver должен находиться в системеpath.

Итак, клиент Selenium ожидает, что исполняемый файл WebDriver будет находиться в PATH, то есть в местоположении WebDriver исполняемый файл, который будет добавлен в ОС нативная PATH переменная.


Заключение

Таким образом, можно сделать вывод, что это не будетможно хранить исполняемый файл WebDriver в GitHub и использовать его в различных проектах .


мелочи

Четный WebDriver исполняемый файл, например ChromeDriver или GeckoDriver не получитсяинициализируется, если к ним обращаются по сетевому пути.Подробное обсуждение можно найти в * 1053. * CreatePlatformSocket () вернул ошибку: указан неверный аргумент.(0x2726) при попытке доступа к chromedriver по сетевому пути

0 голосов
/ 28 февраля 2019

Открытый исходный код WebDriverManager может быть наиболее близким решением к тому, о чем вы просите.

WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();

Этот код позаботится о загрузке подходящего исполняемого файла веб-драйвера для вашей платформы, если это необходимои настройка окружающей среды.

0 голосов
/ 25 февраля 2019

Я не думаю, что это возможно, потому что:

WebDriver использует протоколы для связи с браузером и известен как WebDriver JSON Wire Protocol, который на самом деле является RESTful веб-службой, использующей JSON над HTTP.

Вот объяснение того, как это работает: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol

Итак, используя драйвер по своему усмотрению, вы должны запустить этот driver.exe на внешнем источнике, и вы должны связаться сэто через selenium. Есть только один способ сделать то, что вы хотите, это улучшить и добавить столько кодов в исходный код селена.

...