Python selenium chrome windows

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!¶

Источник

Установка драйвера chromedriver для Chrome Selenium

Для запуска тестов Selenium в Google Chrome, помимо самого браузера Chrome, должен быть установлен ChromeDriver. Установить ChromeDriver очень просто, так как он находится в свободном доступе в Интернете. Загрузите архив в зависимости от операционной системы, разархивируйте его и поместите исполняемый файл chromedriver в нужную директорию.

Какую версию chromedriver установить?

Мы должны установить именно ту версия которая была бы совместима с установленным Google Chrome на нашем ПК или VDS. В случае, если версии не совпадают, то мы получим данную ошибку:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81

Введите в адресную строку Google Chrome данный путь:

У вас появится вот такое окно:

Версия chromedriver

Рисунок 1 — Узнаем версию браузера Google Chrome

Скачать ChromeDriver для Linux, Windows и Mac

На данный момент актуальная версия драйвера 81.0.40 хотя у меня установлен более старый Google Chrome и последняя версия мне не подойдет. Как видно на рисунке выше, мне нужна версия 79.0.39 у вас может быть другая версия, нужно её скачать.

Скачать драйвер ChromeDriver

Рисунок 2 — Официальный сайт Google для загрузки драйвера chromedriver

На момент прочтения этой статьи версия может быть другой. Всегда выбирайте более новую версию, чтобы не поймать старые баги которые уже давно исправили в новой версии. НО! Помните, что вам нужно обновить и свой браузер Google Chrome если вы хотите работать с новой версией ChromeDriver.

Установка ChromeDriver под Linux, Windows и Mac

  1. Заходим на сайт https://chromedriver.storage.googleapis.com/index.html?path=79.0.3945.36/ (Проверьте сайт с Рис. 2 на обновления, тут версия: 79.0.3945);
  2. Скачиваем архив под вашу операционную систему;
  3. Распаковываем файл и запоминаем где находится файл chromedriver или chromedriver.exe (Windows).

Архив Chromedriver

Рисунок 3 — Скаченный архив с ChromeDriver

Если у вас Linux дистрибутив или Mac, вам нужно дать файлу chromedriver нужные права на выполнения. Открываем терминал и вводим команды одна за другой.

Источник

Selenium webdriver в python. Установка и начало работы.

Selenium webdriver в python. Установка и начало работы.

Создаем новый проект. Устанавливаем библиотеку Selenium в наше виртуальное окружение (venv) только что созданного проекта, выполнив команду:

На этом пока сворачиваем нашу IDE, следующая наша цель это найти и скачать сам драйвер Селениума для браузера гугл хром.

Находим и скачиваем Chrome Webdriver

Далее установим Webdriver для нашего браузера. Будем рассматривать на примере браузера Google Chrome. Откроем браузер Chrome нажмем три точки >>> «Справка» >>> «О браузере Google Chrome» или просто пройдем по ссылке chrome://settings/help, нас интересует версия нашего браузера пункт 4 рисунок 1.

После того, как мы узнали нашу версию браузера, переходим на Chromedriver и ищем версию которая соответствует нашей версии. На моем примере: у меня версия версия 107.0.5304.88, но в списке нету такой, самая похожая107.0.5304.62, она подходит, ориентируемся по первым трем цифрам 107.Х.ХХХХ.ХХ. Скачиваем драйвер под свою операционную систему. Если у вас windows x64, скачивайте chromedriver_win32.zip.

Устанавливаем Chromedriver и приступаем к работе

Распаковываем архив в любую выбранную вами папку, либо в сам проект, я же распакую chromedriver в диск C, заранее создав там папку: C:\chromedriver. Далее в нашем проекте, где ранее установили Selenium пишем следующий код:

from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService url = 'https://happypython.ru/about_us/' browser = webdriver.Chrome(service=ChromeService(executable_path='C:/chromedriver/chromedriver')) browser.get(url)

Где executable_path это как раз таки путь к вашему драйверу Selenium, куда ранее вы его распаковали

Если при запуске откроется браузер Google Chrome и страница «О нас», то вы все выполнили верно. Данную конструкцию, в старых статьях вы наверное не встречали, но разработчики Selenium рекомендуют именно так, подробнее можете ознакомится в официальной документации.

Я предлагаю следующую конструкцию:

from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import time url = 'https://happypython.ru/about_us/' service = Service(executable_path='C:/chromedriver/chromedriver') # указываем путь до драйвера browser = webdriver.Chrome(service=service) try: browser.get(url) time.sleep(10) browser.quit() except Exception as ex: print(ex) browser.quit() browser.quit()

Выше написанный код выполняет тоже самое, что было рассмотрено ранее, но написан более понятно и исключает ошибки, связанных при работе с драйвером Selenium, благодаря конструкции try/except. Подробнее вы разберете это в следующей статье «Selenium webdriver в python. Selenium-поиск элементов на странице«

От автора

Если у Вас, что то не выходит или не получается, со своим вопросом Вы можете обратиться мне Вконтакте. Так же свои отвызы и предложения вы можете писать в нашу группу ВКонтакте или в чате Telegram.

Telegram каналы наших партнеров:

Backend development — все о бэкенде на python и не только (полезные статьи, гайды, шпаргалки , переводы книг)

EasyPy — о языке программирования python простым языком (интересные статьи, тесты для языка Python, проводят занятия)

Источник

Читайте также:  Object detection keras python
Оцените статью