Selenium WebDriver

Selenium WebDriver — основной компонент Selenium. Он предоставляет API для взаимодействия с браузерами, позволяя разработчикам управлять браузером через языки программирования и выполнять различные операции.

Запуск браузера

Selenium WebDriver поддерживает несколько браузеров (таких как Chrome, Firefox, Edge и т. д.).

Перед запуском браузера необходимо скачать и настроить соответствующий драйвер браузера (такой как ChromeDriver, GeckoDriver и т. д.). Подробнее см.Установка Selenium。

Пример кода для запуска браузера (Python).

В Selenium 4 представлен объект Service для указания пути к драйверу. Этот подход более гибкий и соответствует спецификациям дизайна Selenium 4.

Пример для Selenium 4

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

service = ChromeService(executable_path="PATH_TO_DRIVER")
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
  1. Импортируйте необходимые модули (webdriverиChromeService)。

  2. СоздайтеChromeServiceобъект, указывающий путь к ChromeDriver.

  3. СоздайтеChromeOptionsобъект, используемый для настройки параметров запуска браузера.

  4. Используйтеwebdriver.Chrome()Запустите браузер Chrome и передайтеserviceиoptionsпараметра.

В Selenium 3 и более ранних версиях путь к драйверу обычно указывается непосредственно в webdriver.Chrome(), например:

Пример для Selenium 3

from selenium import webdriver

# Задать путь к ChromeDriver
driver_path = "/path/to/chromedriver"

# Запустить браузер Chrome
driver = webdriver.Chrome(executable_path=driver_path)

Закрыть браузер

Используйтеquit()метод, чтобы закрыть браузер и завершить сеанс WebDriver.

driver.quit()

Открытие и закрытие веб-страниц

Используйтеget()метод, чтобы открыть указанный URL.

driver.get("https://www.example.com")

Закрыть текущую вкладку

Используйте метод close() для закрытия текущей вкладки.

driver.close()

Если есть только одна вкладка, close() закроет браузер.


Операции с окном браузера

Развернуть окно

Используйте метод maximize_window() для максимизации окна браузера.

driver.maximize_window()

Свернуть окно

Используйте метод minimize_window() для минимизации окна браузера.

driver.minimize_window()

Задать размер окна

Используйте метод set_window_size(width, height) для установки размера окна браузера.

driver.set_window_size(1024, 768)  # 设置窗口大小为 1024x768 像素

Полноэкранный режим

Используйте метод fullscreen_window() для перевода окна браузера в полноэкранный режим.

driver.fullscreen_window()

Навигация по страницам

Вперёд и назад

Используйте метод back() для возврата на предыдущую страницу.

Используйте метод forward() для перехода на следующую страницу.

driver.get("https://www.baidu.com")
driver.get("https://www.example.com")

driver.back()    # 返回 baidu.com
driver.forward() # 前进到 example.com

Обновить страницу

Используйте метод refresh() для обновления текущей страницы.

driver.refresh()

Получение заголовка и URL страницы

Получить заголовок страницы

Используйте свойство title для получения заголовка текущей страницы.

title = driver.title
print("页面标题:", title)

Получить текущий URL

Используйте свойство current_url для получения URL текущей страницы.

url = driver.current_url
print("当前 URL:", url)

综合示例


Ниже приведён полный пример, демонстрирующий, как запустить браузер, открыть веб-страницу, управлять окнами, перемещаться по страницам и получать информацию о странице:

Пример

# Импорт необходимых модулей
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

# Установите правильный путь к драйверу
service = ChromeService(executable_path="./chromedriver-mac-arm64/chromedriver")
# Настройка параметров браузера
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)

# Открыть веб-страницу
driver.get("https://www.example.com")

# Развернуть окно
driver.maximize_window()

# Получить заголовок и URL страницы
print("Заголовок страницы:", driver.title)
print("Текущий URL:", driver.current_url)

# Перейти на другую страницу
driver.get("https://www.jyshare.com")

# Вернуться на предыдущую страницу
driver.back()

# Обновить страницу
driver.refresh()

# Закрыть браузер
driver.quit()

После выполнения вышеуказанного кода будут выполнены следующие шаги:

  • Запустите браузер Chrome.

  • Откройте указанную веб-страницу (https://www.example.com)。

  • Развернуть окно браузера.

  • Получите и выведите заголовок и URL страницы.

  • Перейдите на другую веб-страницу (https://www.jyshare.com)。

  • Вернитесь на предыдущую страницу.

  • Обновить текущую страницу.

  • Закройте браузер.

Вывод:

页面标题: Example - 学的不仅是技术,更是梦想!
当前 URL: https://www.example.com/
Другие расширения