Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan Selenium WebDriver dalam Python
WebDriver memacu penyemak imbas secara setempat, sama seperti pengguna secara tempatan Atau seperti yang dilakukan pada mesin jauh menggunakan pelayan Selenium, ini menandakan lonjakan dalam automasi penyemak imbas.
Selenium WebDriver merujuk kepada pelaksanaan pengikatan bahasa dan kod kawalan penyemak imbas individu. Ini sering dipanggil WebDriver.
Selenium WebDriver ialah cadangan W3C.
WebDriver direka bentuk untuk menjadi antara muka pengaturcaraan yang ringkas dan padat.
WebDriver ialah API berorientasikan objek yang ringkas.
Ia memacu penyemak imbas dengan berkesan.
Persekitaran yang digunakan dalam artikel ini ialah python3.11 + win10 64-bit + pelayar firefox, jadi pemacu penyemak imbas yang digunakan dalam artikel ini ialah pemacu tokek Firefox , jika anda menggunakan penyemak imbas lain, pilih sahaja pemacu penyemak imbas anda yang sepadan.
Cara paling mudah ialah menggunakan pip untuk memasang terus
pip install selenium
Melalui WebDriver, Selenium menyokong semua penyemak imbas utama di pasaran, seperti Chrome, Firefox, Internet Explorer, Edge dan Safari WebDriver cuba menggunakan sokongan automasi terbina dalam penyemak imbas
Memandangkan Internet Semua pelaksanaan pemacu di luar Explorer disediakan oleh vendor penyemak imbas sendiri, jadi pemacu ini tidak disertakan dalam pengedaran Selenium standard Bahagian ini menerangkan keperluan asas untuk menggunakan pelayar yang berbeza
Buka URL berikut ://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/
Cari pautan untuk memuat turun pemacu penyemak imbas Di sini anda boleh melihat berbilang pemacu penyemak imbas yang disokong oleh Selenium , cuma muat turun pemacu yang sepadan untuk sebarang pelayar yang telah anda pasang pada komputer anda Artikel ini menggunakan Firefox, jadi pilih pemacu Firefox.
Klik pautan muat turun pemacu firefox dan masuk ke halaman keluaran github Anda boleh melihat pemacu pelbagai versi Artikel ini adalah win10 64-bit, dan yang dipilih ialah geckodriver-v0. 32.0-win-aarch74.zip, cuma pilih fail yang sepadan mengikut sistem anda.
Selepas penyahmampatan, ia ialah fail boleh laku, seperti yang ditunjukkan di bawah:
Buka My Computer->Properties->Advanced System Settings->Environment Variables, klik dua kali laluan, klik Baharu, masukkan direktori di mana pemandu geckodriver.exe berada, dan kemudian klik OK sepanjang jalan.
Pengesahan mudah, buka konsol baharu, masukkan nama fail pemacu, ini geckodriver.exe, dan ia boleh dibuka seperti biasa
Sudah tentu, terdapat cara liar, iaitu dengan terus meletakkan pemandu ke dalam fail Skrip dalam folder direktori Python anda , anda juga boleh membukanya terus apabila melaksanakan skrip python. Sebagai contoh, direktori saya ialah D:PythonPython311Scripts
Selepas anda melengkapkan pemasangan Selenium dan pemasangan pemacu, anda boleh mula menulis skrip Selenium.
Semua yang Selenium lakukan ialah menghantar arahan kepada penyemak imbas untuk melakukan tindakan tertentu atau membuat permintaan untuk mendapatkan maklumat Kebanyakan perkara yang anda akan lakukan dengan Selenium adalah gabungan perintah asas berikut:
1. . Buka sesi menggunakan contoh pemacu
driver = webdriver.Firefox()
2 Lakukan operasi pada penyemak imbas
Dalam contoh ini, kami menavigasi ke halaman web.
driver.get("https://www.selenium.dev/selenium/web/web-form.html")
3 >Anda boleh meminta pelbagai maklumat tentang penyemak imbas, termasuk pemegang tetingkap, saiz/lokasi penyemak imbas, kuki, makluman, dsb.
title = driver.title4. Buat dasar tunggu
Sambungkan kod dengan Menyegerakkan arus keadaan penyemak imbas ialah salah satu cabaran terbesar dengan Selenium, dan membetulkannya ialah topik lanjutan Pada asasnya, anda ingin memastikan bahawa elemen berada pada halaman sebelum anda cuba meletakkannya dan anda ingin memastikannya. bahawa elemen itu berada pada halaman sebelum anda cuba berinteraksi dengannya. Elemen itu interaktif. Penantian tersirat jarang merupakan penyelesaian terbaik, tetapi paling mudah ditunjukkan di sini
driver.implicitly_wait(0.5)
5.发送命令 查找元素
大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互
text_box = driver.find_element(by=By.NAME, value="my-text") submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
6.操作元素
对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们
text_box.send_keys("Selenium") submit_button.click()
7.获取元素信息
value = message.text
8.结束会话
这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令
driver.quit()
让我们将这8个部分组合成一个完整的脚本, 包括需要使用的库
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components(): driver = webdriver.Firefox() driver.get("https://www.selenium.dev/selenium/web/web-form.html") title = driver.title assert title == "Web form" driver.implicitly_wait(0.5) text_box = driver.find_element(by=By.NAME, value="my-text") submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button") text_box.send_keys("Selenium") submit_button.click() message = driver.find_element(by=By.ID, value="message") value = message.text assert value == "Received!" driver.quit()
Atas ialah kandungan terperinci Cara menggunakan Selenium WebDriver dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!