Введение | |
Подключить драйвер браузера в Windows | |
Подключить драйвер браузера в Linux | |
Как раскрыть браузер под Selenium на весь экран | |
Определить подходящий селектор | |
Ошибки |
Selenium WebDriver — это инструмент для автоматизации действий веб-браузера.
В большинстве случаев используется для тестирования Web-приложений, но этим не ограничивается.
Сам по себе Selenium Webdriver в отличие, например, от Selenium IDE ничего для тестирования не содержит,
поэтому используется в связке с библиотеками для тестирования, которые есть в большинстве современных языков
программирования.
В
Python
это unittest, nose, pytest и другие. В
Java
это JUnit.
В частности, он может быть использован для решения рутинных задач администрирования сайта или
регулярного получения данных из различных источников (сайтов).
В этой статье вы узнаете как пользоваться Selenium без привязки к какому-то языку программирования.
О написании тестов на
Python
с использованием Selenium читайте в статье
Selenium + Python
. Если вас интересует
Java
рекомендую статью
Selenium + Java
Перейдите на
selenium.dev
и скачайте драйвер для нужного браузера.
Например для
Firefox
Скачайте архив с драйвером. Для Windows x64 выберите .zip файл
Распакуйте архив. Я распаковал в папку C:\webdrivers
Добавьте путь до этой папку в системную переменную
PATH
.
В поиске наберите env
В разделе System Variables нажмите New
Создайте новую переменную с именем WEBDRIVER_PATH в поле значение укажите путь до папки в которой у вас лежить geckodriver.exe
Выберите переменную Path и нажмите Edit
Нажмите New и введите %WEBDRIVER_PATH%
Скачайте
chromedriver_linux64.zip
для Chrome
или geckodriver-v0.28.0-linux64.tar.gz
для Firefox
Предположим, что они теперь в папке Downloads
ls -l ~/Downloads
-rw-rw-r-- 1 andrei andrei 5564194 Nov 20 10:02 chromedriver_linux64.zip
-rw-rw-r-- 1 andrei andrei 2650003 Nov 20 10:03 geckodriver-v0.28.0-linux64.tar.gz
Создайте директорию /opt/WebDriver/bin и скопируйте туда архивы с драйверами
sudo mkdir /opt/WebDriver/bin
sudo cp ~/Downloads/chromedriver_linux64.zip ~/Downloads/geckodriver-v0.28.0-linux64.tar.gz /opt/WebDriver/bin
ls -l /opt/WebDriver/bin
-rw-rw-r-- 1 andrei andrei 5564194 Nov 20 10:05 chromedriver_linux64.zip
-rw-rw-r-- 1 andrei andrei 2650003 Nov 20 10:05 geckodriver-v0.28.0-linux64.tar.gz
Перейдите в директорию /opt/WebDriver/bin и распакуйте архивы
cd /opt/WebDriver/bin
sudo tar -xvzf geckodriver-v0.28.0-linux64.tar.gz
sudo unzip chromedriver_linux64.zip
ls -laFh /opt/WebDriver/bin
total 27M drwxr-xr-x 2 root root 4.0K Nov 20 10:46 ./ drwxr-xr-x 3 root root 4.0K Nov 20 10:07 ../ -rwxr-xr-x 1 root root 11M Oct 15 23:34 chromedriver* -rw-r--r-- 1 root root 5.4M Nov 20 10:19 chromedriver_linux64.zip -rwxr-xr-x 1 sshit sshit 7.6M Nov 3 18:13 geckodriver* -rw-r--r-- 1 root root 2.6M Nov 20 10:19 geckodriver-v0.28.0-linux64.tar.gz
После успешной распаковки можно убедиться в наличии двух исполняемых файлов chromedriver и geckodriver
Теперь директорию /opt/WebDriver/bin нужно добавить в PATH
Для этого откройте .bashrc и добавьте туда следующий код
vi ~/.bashrc
PATH="/opt/WebDriver/bin:${PATH}"
export PATH
Перезапустите терминал
Первый способ - открыть в kiosk режиме
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("--kiosk")
driver = webdriver.Chrome(options=chromeOptions)
Второй способ - указать драйверу ширину равную ширине Вашего экрана
driver.set_window_size(1920, 1024)
clear, click, findElement, findElements, getAttribute, getCssValue, sendKeys, submit, isDisplayed, isEnabled, getLocation, isSelected, getSize, getTagName, getText,
Если вручную что-то не получается, можно попробовать онлайн сервисы, например try.jsoup.org
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: element not interactable
Обычно появляется если вы пытаетесь выполнить sendKeys на элемент, который это не поддерживает.
Если остались вопросы - смело задавайте их в комментариях либо воспользуйтесь поиском по сайту
Рекомендую наш хостинг beget.ru |
Пишите на info@urn.su если Вы: |
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык. |
2. Хотите разместить на сайте рекламу, подходящуюю по тематике. |
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте |
4. Нашли на сайте ошибку, неточности, баг и т.д. ... ....... |
5. Статьи можно расшарить в соцсетях, нажав на иконку сети:
|