
Menyegarkan halaman web adalah tindakan yang sangat umum. Kami menyegarkan halaman web untuk melihat hasil yang diperbarui. Hal yang sama berlaku untuk pengujian browser, otomatisasi web, dan pengikisan web dengan driver web Selenium.
Pada artikel ini, saya akan menunjukkan kepada Anda cara me-refresh halaman dengan library Selenium Python. Jadi, mari kita mulai.
Prasyarat:
Untuk mencoba perintah dan contoh artikel ini, Anda harus memiliki,
1) Distribusi Linux (sebaiknya Ubuntu) diinstal pada komputer Anda.
2) Python 3 diinstal di komputer Anda.
3) PIP 3 diinstal pada komputer Anda.
4) ular pitonvirtualenvpaket yang diinstal pada komputer Anda.
5) Mozilla Firefox atau browser web Google Chrome terpasang di komputer Anda.
6) Harus tahu cara menginstal Firefox Gecko Driver atau Chrome Web Driver.
Untuk memenuhi persyaratan 4, 5, dan 6, baca artikel saya Introduction to Selenium with Python 3di Linuxhint.com.
Anda dapat menemukan banyak artikel tentang topik lain di LinuxHint.com. Pastikan untuk memeriksanya jika Anda memerlukan bantuan.
Menyiapkan Direktori Proyek:
Untuk menjaga semuanya tetap teratur, buat direktori proyek baru selenium-refresh/ sebagai berikut:
$ mkdir -pv selenium-refresh/drivers
Navigasikan ke selenium-refresh/ direktori proyek sebagai berikut:
$ cd selenium-refresh/
Buat lingkungan virtual Python di direktori proyek sebagai berikut:
$ virtualenv.venv
Aktifkan lingkungan virtual sebagai berikut:
$ source.venv/bin/activate
Instal pustaka Selenium Python menggunakan PIP3 sebagai berikut:
$ pip3 install selenium
Download dan instal semua driver web yang diperlukan di drivers/direktori proyek. Saya telah menjelaskan proses mengdownload dan menginstal driver web di artikel sayaIntroduction to Selenium with Python 3. Jika Anda memerlukan bantuan, cari diLinuxHint.com untuk artikel itu.
Metode 1: Menggunakan refresh() Metode Browser
Cara pertama adalah cara paling mudah dan direkomendasikan untuk menyegarkan halaman dengan Selenium.
Buat skrip Python baru ex01.py dan ketik baris kode berikut di dalamnya.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
options = webdriver.ChromeOptions()
options.headless = True
browser = webdriver.Chrome(executable_path="./drivers/chromedriver", options=options)
browser.get("https://www.unixtimestamp.com/")
timestamp = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Current timestamp: %s' % (timestamp.text.split(' ')[0]))
sleep(5)
browser.refresh()
timestamp = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Current timestamp: %s' % (timestamp.text.split(' ')[0]))
browser.close()
Setelah selesai, simpan ex01.py skrip python.
Baris 1 dan 2 mengimpor semua komponen Selenium yang diperlukan.
Baris 3 mengimpor fungsi sleep() dari perpustakaan waktu. Saya akan menggunakan ini untuk menunggu beberapa detik hingga halaman web diperbarui sehingga kami dapat mengambil data baru setelah menyegarkan halaman web.
Baris 5 membuat objek Opsi Chrome, dan baris 6 mengaktifkan cara tanpa kepala untuk browser web Chrome.
Baris 8 membuat Chrome browser objek menggunakan chromedriver biner dari drivers/ direktori proyek.
Baris 9 memberitahu browser untuk memuat situs web unixtimestamp.com.
Baris 11 menemukan elemen yang memiliki data stempel waktu dari halaman menggunakan pemilih XPath dan menyimpannya di timestamp variabel.
Baris 12 mem-parsing data stempel waktu dari elemen dan mencetaknya di konsol.
Baris 14 menggunakan sleep() berfungsi untuk menunggu selama 5 detik.
Baris 15 menyegarkan halaman saat ini menggunakan browser.refresh() metode.
Baris 17 dan 18 sama denga
n baris 11 dan 12. Ia menemukan elemen stempel waktu dari halaman dan mencetak stempel waktu yang diperbarui di konsol.
Baris 20 menutup browser.
Jalankan skrip Python ex01.py sebagai berikut:
$ python3 ex01.py
Seperti yang Anda lihat, stempel waktu dicetak di konsol.
Setelah 5 detik mencetak stempel waktu pertama, halaman di-refresh, dan stempel waktu yang diperbarui dicetak di konsol, seperti yang Anda lihat pada tangkapan layar di bawah.
Metode 2: Mengunjungi Kembali URL yang Sama
Metode kedua untuk menyegarkan halaman adalah dengan mengunjungi kembali URL yang sama menggunakan browser.get() metode.
Buat skrip Python ex02.py di direktori proyek Anda dan ketik baris kode berikut di dalamnya.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
options = webdriver.ChromeOptions()
options.headless = True
browser = webdriver.Chrome(executable_path="./drivers/chromedriver", options=options)
browser.get("https://www.unixtimestamp.com/")
timestamp = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Current timestamp: %s' % (timestamp.text.split(' ')[0]))
sleep(5)
browser.get(browser.current_url)
timestamp = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Current timestamp: %s' % (timestamp.text.split(' ')[0]))
browser.close()
Setelah selesai, simpan ex02.py skrip python.
Semuanya sama seperti di ex01.py. Perbedaannya hanya pada baris 15.
Di sini, saya menggunakan browser.get()metode untuk mengunjungi URL halaman saat ini. URL halaman saat ini dapat diakses menggunakanbrowser.current_url Properti.
Jalankan ex02.py Script Python sebagai berikut:
$ python3 ex02.py
Seperti yang Anda lihat, skrip Pythion ex02.py mencetak jenis informasi yang sama seperti di ex01.py.
Kesimpulan:
Pada artikel ini, saya telah menunjukkan kepada Anda 2 metode menyegarkan halaman web saat ini menggunakan perpustakaan Selenium Python. Anda seharusnya dapat melakukan hal-hal yang lebih menarik dengan Selenium sekarang.