Прежде всего вам необходимо понять, как Selenium взаимодействует с браузером.
Когда вы пишете тесты на селен, вы пишете код на выбранном вами языке, используя привязки кода клиента. Затем этот код обращается к соответствующему двоичному файлу драйвера, который запускается внутри браузера как плагин с использованием проводного протокола JSON.
Итак, взаимодействие:
![Architecture Overview](https://i.stack.imgur.com/Lfz0d.png)
Selenium имеет клиентский API, который детализирует все команды, которые вы можете отправлять по проводному протоколу JSON, а затем имеет ряд фрагментов кода, которые позволяют ему взаимодействовать с конкретными двоичными файлами драйверов. Так что в вашем случае selenium-chrome-driver.jar
имеет код, который специально используется для взаимодействия с двоичным файлом драйвера chrome. Если вы говорите с двоичным файлом драйвера gecko, вам нужно будет использовать selenium-firefox-driver.jar
. Каждый двоичный файл драйвера, предназначенный для конкретного браузера, имеет связанный jar-файл, содержащий код, необходимый для связи с соответствующим двоичным файлом драйвера.
Чтобы это работало, вам нужны все элементы, поэтому, чтобы иметь возможность управлять Google Chrome с помощью Webdriver, вам потребуется двоичный файл selenium-chrome-driver.jar
и chromedriver.exe
.