====== Вебдрайвер ====== WebDriver — это интерфейс удаленного управления, который позволяет осуществлять самоанализ и контроль над пользовательскими агентами. Он предоставляет независимый от платформы и языка проводной протокол, позволяющий внешним программам удаленно управлять поведением веб-браузеров. Возможность написания наборов инструкций, которые можно взаимозаменяемо запускать во многих браузерах на разных платформах, имеет решающее значение для обеспечения единообразия работы пользователей. В связи с новой волной развития веб-платформы, увеличением разнообразия устройств и требованиями к реальному взаимодействию между технологиями, WebDriver предоставляет инструменты для кросс-браузерного тестирования . Предоставляется набор интерфейсов для обнаружения элементов DOM в веб-документах и ​​управления ими, а также для управления поведением пользовательского агента. В первую очередь он предназначен для того, чтобы веб-авторы могли писать тесты, которые автоматизируют пользовательский агент из отдельного процесса управления, но также могут использоваться таким образом, чтобы позволить сценариям в браузере управлять — возможно, отдельным — браузером. Применение Так что же позволяет делать WebDriver и как это выглядит? Поскольку WebDriver не зависит от языка программирования, ответ на этот вопрос зависит от того, какой клиент WebDriver вы используете, и от выбора языка. Но при использовании популярного клиента, написанного на Python, ваше взаимодействие с WebDriver может выглядеть так: ПИТОН Скопировать в буфер обмена from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.expected_conditions import presence_of_element_located with webdriver.Firefox() as driver: driver.get("http://google.com/ncr") wait = WebDriverWait(driver, 10) driver.find_element(By.NAME, "q").send_keys("cheese" + Keys.RETURN) wait.until(presence_of_element_located((By.XPATH, '//*[@id="rcnt"]'))) results = driver.find_elements(By.XPATH, "//a[@href]") for i, elem in enumerate(results): print(f'#{i} {elem.text} ({elem.get_attribute("href")})') Это может привести к выводу, подобному этому: #1 Cheese - Wikipedia (https://en.wikipedia.org/wiki/Cheese) Ссылка Команды Команды Закрой окно Получить атрибут элемента Получить свойство элемента Получить имя тега элемента Получить тайм-ауты Получить оконные ручки Получить прямоугольник окна Новое окно Установить тайм-ауты Установить прямоугольник окна Типы Типы Объект ошибки Объект тайм-аутов веб-элемент Вебокно Возможности Возможности acceptInsecureCerts firefoxOptions URL-адрес веб-сокета Ошибки Ошибки Небезопасный сертификат Недействительным аргумент Недействительный домен cookie Неверный селектор Недопустимый идентификатор сеанса Ошибка JavaScript Тайм-аут скрипта Ссылка на устаревший элемент Неизвестная команда Неизвестная ошибка Неизвестный метод Технические характеристики Вебдрайвер