Selenium

Як оновити сторінку за допомогою селену

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

У цій статті я збираюся показати вам, як оновити сторінку за допомогою бібліотеки Selenium Python. Отже, давайте почнемо.

Передумови:

Щоб випробувати команди та приклади цієї статті, ви повинні мати,

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

Про виконання вимог 4, 5 та 6 прочитайте мою статтю Вступ до селену з Python 3 на Linuxhint.ком.

Ви можете знайти багато статей з інших тем на LinuxHint.ком. Обов’язково перевірте їх, якщо вам потрібна допомога.

Налаштування каталогу проектів:

Щоб все було організовано, створіть новий каталог проектів селен-оновлення / наступним чином:

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

Перейдіть до селен-оновлення / каталог проекту наступним чином:

$ cd селен-оновлення /

Створіть віртуальне середовище Python у каталозі проекту наступним чином:

$ віртуаленв .венв

Активуйте віртуальне середовище наступним чином:

$ джерело .venv / bin / активувати

Встановіть бібліотеку Selenium Python за допомогою PIP3 наступним чином:

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

Завантажте та встановіть весь необхідний веб-драйвер у водії / каталог проекту. У своїй статті я пояснив процес завантаження та встановлення веб-драйверів Вступ до селену з Python 3. Якщо вам потрібна допомога, шукайте далі LinuxHint.ком для цієї статті.

Спосіб 1: Використання методу браузера refresh ()

Перший спосіб - найпростіший і рекомендований спосіб оновлення сторінки із застосуванням селену.

Створіть новий сценарій Python ех01.py і введіть у ньому наступні рядки кодів.

з веб-драйвера для імпорту селену
з селену.веб-драйвер.загальний.імпортувати ключі
від часу імпорт сну
options = веб-драйвер.Опції Chrome ()
варіанти.безголовий = Правда
браузер = веб-драйвер.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
браузер.get ("https: // www.одноразовий штамп.com / ")
позначка часу = браузер.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Поточна позначка часу:% s'% (позначка часу.текст.split (") [0]))
спати (5)
браузер.refresh ()
позначка часу = браузер.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Поточна позначка часу:% s'% (позначка часу.текст.split (") [0]))
браузер.закрити ()

Закінчивши, збережіть файл ех01.py Скрипт Python.

Рядки 1 та 2 імпортують усі необхідні компоненти селену.

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

Рядок 5 створює об’єкт "Параметри Chrome", а рядок 6 - режим без голови для веб-браузера Chrome.

У рядку 8 створюється Chrome браузер об'єкт за допомогою хромедрівер двійковий з водії / каталог проекту.

Рядок 9 повідомляє браузеру завантажити веб-сайт unixtimestamp.ком.

Рядок 11 знаходить елемент, що містить дані мітки часу зі сторінки за допомогою селектора XPath, і зберігає його в позначка часу змінна.

Рядок 12 аналізує дані мітки часу з елемента та друкує їх на консолі.

У рядку 14 використовується спати () функція, щоб зачекати 5 секунд.

Рядок 15 оновлює поточну сторінку за допомогою браузер.refresh () метод.

Рядки 17 і 18 - це те саме, що рядки 11 і 12. Він знаходить елемент часової позначки на сторінці та друкує оновлену позначку часу на консолі.

Рядок 20 закриває браузер.

Запустіть скрипт Python ех01.py наступним чином:

$ python3 ex01.py

Як бачите, мітка часу друкується на консолі.

Через 5 секунд друку першої мітки часу сторінка оновлюється, а оновлена ​​мітка часу друкується на консолі, як ви можете бачити на скріншоті нижче.

Спосіб 2: Перегляд тієї самої URL-адреси

Другим методом оновлення сторінки є перегляд тієї самої URL-адреси за допомогою браузер.отримати () метод.

Створіть скрипт Python ех02.py у своєму каталозі проекту та введіть у ньому наступні рядки кодів.

з веб-драйвера для імпорту селену
з селену.веб-драйвер.загальний.імпортувати ключі
від часу імпорт сну
options = веб-драйвер.Опції Chrome ()
варіанти.безголовий = Правда
браузер = веб-драйвер.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
браузер.get ("https: // www.одноразовий штамп.com / ")
позначка часу = браузер.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Поточна позначка часу:% s'% (позначка часу.текст.split (") [0]))
спати (5)
браузер.отримати (браузер.current_url)
позначка часу = браузер.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Поточна позначка часу:% s'% (позначка часу.текст.split (") [0]))
браузер.закрити ()

Закінчивши, збережіть файл ех02.py Скрипт Python.

Все так само, як у ex01.py. Різниця лише в рядку 15.

Тут я використовую браузер.отримати () спосіб відвідати поточну URL-адресу сторінки. URL-адресу поточної сторінки можна отримати за допомогою браузер.current_url майно.

Запустіть ех02.py Скрипт Python наступним чином:

$ python3 ex02.py

Як бачите, сценарій Pythion ех02.py друкує той самий тип інформації, що і в ех01.py.

Висновок:

У цій статті я показав вам 2 методи оновлення поточної веб-сторінки за допомогою бібліотеки Selenium Python. Тепер ви могли б робити більше цікавих справ із Селеном.

Битва за Веснот 1.13.6 Розробка випущена
Битва за Веснот 1.13.6, випущений минулого місяця, є шостим випуском розробки в 1.13.x, і це забезпечує низку вдосконалень, особливо до інтерфейсу кор...
Як встановити League of Legends на Ubuntu 14.04
Якщо ви шанувальник League of Legends, то це можливість для вас тестувати League of Legends. Зверніть увагу, що LOL підтримується на PlayOnLinux, якщо...
Встановіть останню стратегічну гру OpenRA на Ubuntu Linux
OpenRA - це ігровий движок Libre / Free Real Time Strategy, який відтворює ранні ігри Вествуда, такі як класичний Command & Conquer: Red Alert. Пошире...