В этой статье я покажу вам, как обновить страницу с помощью библиотеки 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.