Cara Mendapatkan URL Semasa dengan Selenium

How Get Current Url With Selenium



Selenium adalah alat untuk pengujian penyemak imbas, automasi web, dan pengikisan web. Semasa mengerjakan projek Selenium anda, anda mungkin perlu mengetahui URL halaman yang dipaparkan oleh penyemak imbas web Selenium anda. Maklumat ini mungkin berguna untuk melacak URL dari tempat Anda mengekstrak beberapa data sehingga Anda dapat memperbarui data secara automatik menggunakan beberapa skrip.

Dalam artikel ini, saya akan menunjukkan kepada anda cara mendapatkan URL penyemak imbas semasa dengan Selenium. Jadi, mari kita mulakan.







Prasyarat:

Untuk mencuba perintah dan contoh artikel ini, anda mesti mempunyai,



1) Sebaran Linux (sebaiknya Ubuntu) dipasang di komputer anda.
2) Python 3 dipasang pada komputer anda.
3) PIP 3 dipasang pada komputer anda.
4) Python virtualenv pakej yang dipasang di komputer anda.
5) Penyemak imbas web Mozilla Firefox atau Google Chrome yang dipasang di komputer anda.
6) Mesti tahu cara memasang Pemacu Firefox Gecko atau Pemacu Web Chrome.



Untuk memenuhi syarat 4, 5, dan 6, sila baca artikel saya Pengenalan Selenium dengan Python 3 di Linuxhint.com.





Anda boleh menemui banyak artikel mengenai topik lain di LinuxHint.com . Pastikan anda memeriksanya jika anda memerlukan bantuan.

Menyiapkan Direktori Projek:

Untuk memastikan semuanya teratur, buat direktori projek baru selenium-url / seperti berikut:



$mkdir -pvselenium-url/pemandu

Navigasi ke selenium-url / direktori projek seperti berikut:

$CDselenium-url/

Buat persekitaran maya Python dalam direktori projek seperti berikut:

$virtualenv .venv

Aktifkan persekitaran maya seperti berikut:

$sumber.venv/saya/aktifkan

Pasang perpustakaan Selenium Python di persekitaran maya anda menggunakan PIP3 seperti berikut:

$ pip3 memasang selenium

Muat turun dan pasang semua pemacu web yang diperlukan di pemandu / direktori projek. Saya telah menerangkan proses memuat turun dan memasang pemacu web dalam artikel saya Pengenalan Selenium dengan Python 3 . Sekiranya anda memerlukan bantuan, cari di LinuxHint.com untuk artikel itu.

Saya akan menggunakan penyemak imbas web Google Chrome untuk demonstrasi dalam artikel ini. Jadi, saya akan menggunakan kromedriver binari dengan Selenium. Anda harus menggunakan pemandu tokek binari jika anda ingin menggunakan penyemak imbas web Firefox.

Buat skrip Python ex01.py di direktori projek anda dan taipkan baris kod berikut di dalamnya.

dariseleniummengimportpemacu laman web
dariselenium.pemacu laman web.biasa.kunci mengimportKekunci
pilihan=pemacu laman web.Pilihan Chrome()
pilihan.tanpa kepala = Betul
penyemak imbas=pemacu laman web.Chrome(jalan_laksana='./drivers/chromedriver',pilihan=pilihan)
penyemak imbas.dapatkan('https://duckduckgo.com/')
mencetak(penyemak imbas.current_url)
penyemak imbas.tutup()

Setelah selesai, simpan ex01.py Skrip Python.

Di sini, baris 1 dan baris 2 mengimport semua komponen yang diperlukan dari perpustakaan Python selenium.

Baris 4 membuat objek Pilihan Chrome, dan baris 5 membolehkan mod tanpa kepala untuk penyemak imbas web Chrome.

Baris 7 membuat Chrome penyemak imbas objek menggunakan kromedriver binari dari pemandu / direktori projek.

Baris 9 memberitahu penyemak imbas memuatkan laman web duckduckgo.com.

Baris 10 mencetak URL penyemak imbas semasa. Di sini, browser.current_url harta digunakan untuk mengakses URL penyemak imbas semasa.

Baris 12 menutup penyemak imbas.

Jalankan skrip Python ex01.py seperti berikut:

$ python3 ex01.py

Seperti yang anda lihat, URL semasa ( https://duckduckgo.com ) dicetak pada konsol.

Pada contoh sebelumnya, saya telah melayari laman web duckduckgo.com dan mencetak URL semasa di konsol. Ini mengembalikan URL halaman yang kami lawati. Tidak terlalu mewah kerana kita sudah mengetahui URL halaman. Sekarang, mari cari sesuatu di DuckDuckGo dan cuba mencetak URL halaman hasil carian di konsol.

Buat skrip Python ex02.py di direktori projek anda dan taipkan baris kod berikut di dalamnya.

dariseleniummengimportpemacu laman web
dariselenium.pemacu laman web.biasa.kunci mengimportKekunci
pilihan=pemacu laman web.Pilihan Chrome()
pilihan.tanpa kepala = Betul
penyemak imbas=pemacu laman web.Chrome(jalan_laksana='./drivers/chromedriver',pilihan=pilihan)
penyemak imbas.dapatkan('https://duckduckgo.com/')
mencetak(penyemak imbas.current_url)
carianInput=penyemak imbas.cari_elemen_by_id('search_form_input_homepage')
carianInput.hantar_kunci('selenium hq'+ Kekunci.MASUK)
mencetak(penyemak imbas.current_url)
penyemak imbas.tutup()

Setelah selesai, simpan ex02.py Skrip Python.

Di sini, garis 1-10 adalah sama seperti di ex01.py . Jadi, saya tidak menerangkannya lagi.

Baris 12 menemui kotak teks carian dan menyimpannya di carianInput pemboleh ubah.

Baris 13 menghantar pertanyaan carian selenium hq di dalam carianInput kotak teks dan menekan menggunakan kunci Kunci.ENTER .

Setelah halaman carian dimuat, browser.current_url digunakan untuk mengakses URL terkini yang dikemas kini.

Baris 15 mencetak URL terkini yang dikemas kini di konsol.

Baris 17 menutup penyemak imbas.

Jalankan ex02.py Skrip Python seperti berikut:

$ python3 ex02.py

Seperti yang anda lihat, skrip Python ex02.py mencetak 2 URL.

Yang pertama adalah URL halaman utama mesin carian DuckDuckGo.

Yang kedua adalah URL terkini yang dikemas kini setelah melakukan carian di mesin carian DuckDuckGo menggunakan pertanyaan selenium hq .

Kesimpulan:

Dalam artikel ini, saya telah menunjukkan cara mendapatkan URL penyemak imbas web semasa menggunakan perpustakaan Selenium Python. Sekarang, anda seharusnya dapat menjadikan projek Selenium anda lebih menarik.