- Как установить Selenium WebDriver на любой компьютер с Python
- What Is Selenium
- Установка Selenium WebDriver
- В Windows
- В Linux
- В macOS
- Как настроить Selenium WebDriver с Python
- В Windows
- Настройте переменную PATH Webdriver в Linux
- В macOS
- Автоматизация браузера с помощью Selenium WebDriver
- Selenium Client Driver¶
- Supported Python Versions¶
- Installing¶
- Drivers¶
- Example 0:¶
- Example 1:¶
- Example 2:¶
- Selenium Server (optional)¶
- Use The Source Luke!¶
- selenium 4.10.0
- Supported Python Versions
- Installing
- Drivers
- Example 0:
- Example 1:
- Example 2:
- Selenium Server (optional)
- Use The Source Luke!
- Contributing
Как установить Selenium WebDriver на любой компьютер с Python
Автоматизация стала неотъемлемой частью индустрии разработки программного обеспечения. Было разработано множество фреймворков, которые позволяют пользователям улучшить свой рабочий процесс, автоматизируя повторяющиеся задачи с помощью нескольких строк кода.
Selenium – один из таких инструментов, который позволяет вы можете запускать автоматические тесты в веб-приложениях. Одним из примечательных компонентов полного пакета Selenium является Selenium WebDriver. В этой статье мы представим краткое введение в Selenium, а также подробное руководство по установке и настройке Selenium WebDriver в вашей системе.
What Is Selenium
Selenium – это среда автоматизации тестирования с открытым исходным кодом, которая в основном используется для проверки веб-приложений в разных браузерах и платформах. Фреймворк доступен для ряда языков программирования, включая Java, C #, Python и Perl.
Существуют различные компоненты фреймворка Selenium:
- Selenium IDE (интегрированная среда разработки)
- Selenium Remote Элемент управления
- Selenium WebDriver
- Selenium Grid
Все эти компоненты имеют определенные особенности, связанные с ними. Но в целом весь фреймворк Selenium помогает в автоматическом тестировании веб-приложений.
Помимо веб-тестирования, вы также можете разрабатывать веб-сканеры, используя Selenium WebDriver.
Установка Selenium WebDriver
Для установки Selenium WebDriver, на вашем компьютере должен быть установлен один из поддерживаемых языков. В этом посте мы сосредоточимся конкретно на Python.
В Windows
Сначала вам нужно установить Python на свой компьютер. Перейдите на официальную страницу загрузки Python и скачайте последнюю версию для Windows.
Загрузить: Python для Windows
Затем установите Selenium WebDriver с помощью Pip , официальный менеджер пакетов Python. Введите следующую команду для установки Selenium:
Если приведенная выше команда вызывает ошибку, вы можете выполнить команду pip с помощью флага -m . Флаг -m обозначает имя модуля и позволяет передать модуль во время вызова Python..
python -m pip install selenium
В Linux
Установить Python в Linux очень просто. Все, что вам нужно сделать, это загрузить официальный пакет Python с помощью стандартного диспетчера пакетов вашего дистрибутива.
sudo apt-get install python
Теперь чтобы установить Selenium WebDriver, откройте свой терминал и введите:
python -m pip install selenium
В macOS
Чтобы установить Python на свой Mac, загрузите последний двоичный пакет из официальная страница загрузки Python.
Загрузить: Python для Mac
После установки Python запустите терминал и введите:
В качестве альтернативы вы можете запустить pip с помощью -m флаг при вызове Python:
python -m pip install selenium
Связано: Лучшие инструменты автоматизации, позволяющие фрилансерам экономить свое время
Как настроить Selenium WebDriver с Python
Чтобы использовать Selenium WebDriver для веб-автоматизации, вам нужно будет загрузить драйвер, который интегрируется с выбранным вами браузером. Этот драйвер позволит Selenium управлять браузером и автоматизировать команды, которые вы пишете в своих скриптах.
Selenium в настоящее время поддерживает Google Chrome, Firefox, Microsoft Edge и Safari. Официальный веб-драйвер для Chrome – это ChromeDriver, а Geckodriver – это официальный веб-драйвер для Firefox.
Имя драйвера | Поддерживаемый браузер | Загрузить |
---|---|---|
ChromeDriver | Google Chrome | Загрузить |
GeckoDriver | Firefox | Загрузить |
WebDriver | Microsoft Edge | Загрузить |
WebDriver | Apple Safari | Загрузить |
Обратите внимание, что вам нужно будет добавить веб-драйвер в переменные PATH вашей системы. чтобы использовать селен.
В Windows
Чтобы добавить webdriver в переменные PATH в Windows:
- Загрузите веб-драйвер по вашему выбору по вышеупомянутой ссылке.
- Извлеките загруженный файл ZIP и скопируйте файл webdrivername в определенное место на вашем локальном хранилище.
- Теперь скопируйте путь к исполняемому файлу.
- Откройте Этот компьютер и щелкните правой кнопкой мыши пустую область, выбрав Свойства из списка параметров
Чтобы проверить, установлен ли драйвер установлен правильно, запустите новое окно командной строки и введите имя веб-драйвера. Например, если вы используете ChromeDriver, введите chromedriver и нажмите Enter .
Если драйвер не установлен должным образом, произойдет ошибка.
'chromedriver' не распознается как внутренняя или внешняя команда,
действующая программа или командный файл.
Настройте переменную PATH Webdriver в Linux
Чтобы добавить webdriver в переменные PATH в Linux:
- Загрузите webdriver для Linux, используя указанную ссылку выше
- Извлеките загруженный файл ZIP и скопируйте файл webdrivername в определенное место в системном хранилище
- Теперь скопируйте путь к исполняемому файлу.
- Запустите терминал, нажав Ctrl + Alt + T
- Отредактируйте файл профиля пользователя — в то время как вы можете открыть файл с помощью любого текстового редактора Linux по вашему выбору, в этом случае мы будем использовать Nano
sudo nano/home/username/. profile
export PATH = $ PATH:/pathtodriver/webdriver
В macOS
Настроить webdriver на устройстве macOS очень просто. Для этого:
- Загрузите webdriver для Linux по указанным выше ссылкам.
- Извлеките загруженный ZIP файл и скопируйте файл webdrivername в определенное место в системном хранилище.
- Теперь скопируйте путь к исполняемому файлу
- Откройте терминал.
- Отредактируйте файл paths в вашей системе, введя приведенную ниже команду
Вы можете проверить, правильно ли установлен веб-драйвер, набрав имя веб-драйвера в терминале.
Автоматизация браузера с помощью Selenium WebDriver
Благодаря мощи Selenium автоматизация браузера никогда не была такой простой. Вы можете автоматизировать некоторые базовые повторяющиеся задачи самостоятельно, просто написав фрагмент кода. Аналитики по кибербезопасности также могут извлечь выгоду, автоматизируя тестирование на проникновение в Интернет с помощью Selenium.
Хотя Selenium является первым выбором многих разработчиков, которые часто тестируют веб-приложения, существуют и другие среды тестирования. которые стоит попробовать.
Selenium Client Driver¶
The selenium package is used to automate web browser interaction from Python.
Home: | https://selenium.dev |
GitHub: | https://github.com/SeleniumHQ/Selenium |
PyPI: | https://pypi.org/project/selenium/ |
IRC/Slack: | Selenium chat room |
Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer), as well as the Remote protocol.
Supported Python Versions¶
Installing¶
If you have pip on your system, you can simply install or upgrade the Python bindings:
Alternately, you can download the source distribution from PyPI (e.g. selenium-4.10.0.tar.gz), unarchive it, and run:
Note: You may want to consider using virtualenv to create isolated Python environments.
Drivers¶
Selenium requires a driver to interface with the chosen browser. Firefox, for example, requires geckodriver, which needs to be installed before the below examples can be run. Make sure it’s in your PATH , e. g., place it in /usr/bin or /usr/local/bin .
Failure to observe this step will give you an error selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
Other supported browsers will have their own drivers available. Links to some of the more popular browser drivers follow.
Chrome: | https://chromedriver.chromium.org/downloads |
Edge: | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
Firefox: | https://github.com/mozilla/geckodriver/releases |
Safari: | https://webkit.org/blog/6900/webdriver-support-in-safari-10/ |
Example 0:¶
from selenium import webdriver browser = webdriver.Firefox() browser.get('http://selenium.dev/')
Example 1:¶
- open a new Firefox browser
- load the Yahoo homepage
- search for “seleniumhq”
- close the browser
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys browser = webdriver.Firefox() browser.get('http://www.yahoo.com') assert 'Yahoo' in browser.title elem = browser.find_element(By.NAME, 'p') # Find the search box elem.send_keys('seleniumhq' + Keys.RETURN) browser.quit()
Example 2:¶
Selenium WebDriver is often used as a basis for testing web applications. Here is a simple example using Python’s standard unittest library:
import unittest from selenium import webdriver class GoogleTestCase(unittest.TestCase): def setUp(self): self.browser = webdriver.Firefox() self.addCleanup(self.browser.quit) def test_page_title(self): self.browser.get('http://www.google.com') self.assertIn('Google', self.browser.title) if __name__ == '__main__': unittest.main(verbosity=2)
Selenium Server (optional)¶
For normal WebDriver scripts (non-Remote), the Java server is not needed.
However, to use Selenium Webdriver Remote , you need to also run the Selenium server. The server requires a Java Runtime Environment (JRE).
Run the server from the command line:
java -jar selenium-server-4.10.0.jar
Then run your Python client scripts.
Use The Source Luke!¶
selenium 4.10.0
The selenium package is used to automate web browser interaction from Python.
Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer), as well as the Remote protocol.
Supported Python Versions
Installing
If you have pip on your system, you can simply install or upgrade the Python bindings:
Alternately, you can download the source distribution from PyPI (e.g. selenium-4.10.0.tar.gz), unarchive it, and run:
Note: You may want to consider using virtualenv to create isolated Python environments.
Drivers
Selenium requires a driver to interface with the chosen browser. Firefox, for example, requires geckodriver, which needs to be installed before the below examples can be run. Make sure it’s in your PATH , e. g., place it in /usr/bin or /usr/local/bin .
Failure to observe this step will give you an error selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
Other supported browsers will have their own drivers available. Links to some of the more popular browser drivers follow.
Example 0:
Example 1:
- open a new Firefox browser
- load the Yahoo homepage
- search for “seleniumhq”
- close the browser
Example 2:
Selenium WebDriver is often used as a basis for testing web applications. Here is a simple example using Python’s standard unittest library:
Selenium Server (optional)
For normal WebDriver scripts (non-Remote), the Java server is not needed.
However, to use Selenium Webdriver Remote or the legacy Selenium API (Selenium-RC), you need to also run the Selenium server. The server requires a Java Runtime Environment (JRE).
Run the server from the command line:
java -jar selenium-server-4.6.0.jar
Then run your Python client scripts.
Use The Source Luke!
Contributing
- Create a branch for your work
- Ensure tox is installed (using a virtualenv is recommended)
- python3.7 -m venv .venv && . .venv/bin/activate && pip install tox
- After making changes, before committing execute tox -e linting
- If tox exits 0 , commit and push otherwise fix the newly introduced breakages.
- flake8 requires manual fixes
- black will often rewrite the breakages automatically, however the files are unstaged and should staged again.
- isort will often rewrite the breakages automatically, however the files are unstaged and should staged again.