Селен

Как обновить страницу с помощью Selenium

Как обновить страницу с помощью Selenium
Обновление веб-страниц - очень распространенное действие. Мы обновляем веб-страницу, чтобы увидеть обновленные результаты. То же самое верно и для тестирования браузеров, веб-автоматизации и веб-парсинга с помощью веб-драйвера Selenium.

В этой статье я покажу вам, как обновить страницу с помощью библиотеки Selenium Python. Итак, приступим.

Предпосылки:

Чтобы опробовать команды и примеры из этой статьи, вы должны иметь,

1) Дистрибутив Linux (желательно Ubuntu), установленный на вашем компьютере.
2) Python 3 установлен на вашем компьютере.
3) PIP 3 установлен на вашем компьютере.
4) Python virtualenv пакет установлен на вашем компьютере.
5) Веб-браузеры Mozilla Firefox или Google Chrome, установленные на вашем компьютере.
6) Необходимо знать, как установить драйвер Firefox Gecko или веб-драйвер Chrome.

Для выполнения требований 4, 5 и 6 прочтите мою статью Введение в Selenium с Python 3 в Linuxhint.ком.

Вы можете найти множество статей по другим темам на LinuxHint.ком. Обязательно ознакомьтесь с ними, если вам нужна помощь.

Настройка каталога проекта:

Чтобы все было организовано, создайте новый каталог проекта селен-освежить / следующим образом:

$ mkdir -pv селен-обновление / драйверы

Перейдите к селен-освежить / каталог проекта следующим образом:

$ cd selenium-refresh /

Создайте виртуальную среду Python в каталоге проекта следующим образом:

$ virtualenv .Venv

Активируйте виртуальную среду следующим образом:

$ источник .Venv / bin / активировать

Установите библиотеку Selenium Python с помощью PIP3 следующим образом:

$ pip3 установить селен

Загрузите и установите все необходимые веб-драйверы в драйверы / каталог проекта. Я объяснил процесс загрузки и установки веб-драйверов в своей статье Введение в Selenium с Python 3. Если вам нужна помощь, ищите на LinuxHint.ком для этой статьи.

Метод 1. Использование метода браузера refresh ()

Первый способ - это самый простой и рекомендуемый метод обновления страницы с помощью Selenium.

Создайте новый скрипт Python ex01.ру in и введите в него следующие строки кодов.

из selenium import webdriver
из селена.webdriver.общий.ключи импорт Ключи
от времени импортный сон
options = webdriver.ChromeOptions ()
параметры.headless = Правда
браузер = веб-драйвер.Chrome (исполняемый_путь = "./ drivers / chromedriver ", options = options)
браузер.get ("https: // www.unixtimestamp.com / ")
timestamp = браузер.find_element_by_xpath ("// h3 [@ class = 'text-dangerous'] [1]")
print ('Текущая отметка времени:% s'% (отметка времени.текст.split (") [0]))
сон (5)
браузер.обновить ()
timestamp = браузер.find_element_by_xpath ("// h3 [@ class = 'text-dangerous'] [1]")
print ('Текущая отметка времени:% s'% (отметка времени.текст.split (") [0]))
браузер.Закрыть()

Как только вы закончите, сохраните ex01.ру Скрипт Python.

Строки 1 и 2 импортируют все необходимые компоненты Selenium.

Строка 3 импортирует функцию sleep () из библиотеки времени. Я буду использовать это, чтобы подождать несколько секунд обновления веб-страницы, чтобы мы могли получить новые данные после обновления веб-страницы.

Строка 5 создает объект параметров Chrome, а строка 6 включает безголовый режим для веб-браузера Chrome.

Строка 8 создает Chrome браузер объект, использующий хромированная отвертка двоичный из драйверы / каталог проекта.

Строка 9 сообщает браузеру загрузить веб-сайт unixtimestamp.ком.

Строка 11 находит элемент, который имеет данные отметки времени со страницы, используя селектор XPath, и сохраняет его в отметка времени Переменная.

Строка 12 анализирует данные временной метки элемента и выводит их на консоль.

В строке 14 используется спать() функция ожидания 5 секунд.

Строка 15 обновляет текущую страницу с помощью браузер.обновить () метод.

Строки 17 и 18 такие же, как строки 11 и 12. Он находит элемент отметки времени на странице и печатает обновленную отметку времени на консоли.

Строка 20 закрывает браузер.

Запустите скрипт Python ex01.ру следующим образом:

$ python3 ex01.ру

Как видите, метка времени напечатана на консоли.

После 5 секунд печати первой отметки времени страница обновляется, и обновленная отметка времени печатается на консоли, как вы можете видеть на скриншоте ниже.

Метод 2: повторное посещение того же URL

Второй метод обновления страницы - это повторно посетить тот же URL-адрес с помощью браузер.получать() метод.

Создайте скрипт Python ex02.ру в каталоге вашего проекта и введите в нем следующие строки кодов.

из selenium import webdriver
из селена.webdriver.общий.ключи импорт Ключи
от времени импортный сон
options = webdriver.ChromeOptions ()
параметры.headless = Правда
браузер = веб-драйвер.Chrome (исполняемый_путь = "./ drivers / chromedriver ", options = options)
браузер.get ("https: // www.unixtimestamp.com / ")
timestamp = браузер.find_element_by_xpath ("// h3 [@ class = 'text-dangerous'] [1]")
print ('Текущая отметка времени:% s'% (отметка времени.текст.split (") [0]))
сон (5)
браузер.получить (браузер.current_url)
timestamp = браузер.find_element_by_xpath ("// h3 [@ class = 'text-dangerous'] [1]")
print ('Текущая отметка времени:% s'% (отметка времени.текст.split (") [0]))
браузер.Закрыть()

Как только вы закончите, сохраните ex02.ру Скрипт Python.

Все как в ex01.ру. Единственная разница в строке 15.

Здесь я использую браузер.получать() метод для посещения URL-адреса текущей страницы. Доступ к текущему URL-адресу страницы можно получить с помощью браузер.current_url имущество.

Запустить ex02.ру Скрипт Python следующим образом:

$ python3 ex02.ру

Как видите, скрипт Pythion ex02.ру печатает тот же тип информации, что и в ex01.ру.

Заключение:

В этой статье я показал вам 2 метода обновления текущей веб-страницы с помощью библиотеки Selenium Python. Теперь вы сможете делать больше интересных вещей с Selenium.

Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...