Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Selenium WebDriver dalam Python

Cara menggunakan Selenium WebDriver dalam Python

PHPz
PHPzke hadapan
2023-05-08 22:31:562292semak imbas

    Bermula dengan Selenium WebDriver

    1 Apakah itu Selenium WebDriver

    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.

    2. Pasang Selenium WebDriver

    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.

    2.1 Pasang perpustakaan kelas selenium

    Cara paling mudah ialah menggunakan pip untuk memasang terus

    pip install selenium

    Cara menggunakan Selenium WebDriver dalam Python

    2.2 Pasang pemacu penyemak imbas

    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.

    Cara menggunakan Selenium WebDriver dalam Python

    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.

    Cara menggunakan Selenium WebDriver dalam Python

    Selepas penyahmampatan, ia ialah fail boleh laku, seperti yang ditunjukkan di bawah:

    Cara menggunakan Selenium WebDriver dalam Python

    2.3 Mengkonfigurasi pembolehubah persekitaran

    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.

    Cara menggunakan Selenium WebDriver dalam Python

    Cara menggunakan Selenium WebDriver dalam Python

    Cara menggunakan Selenium WebDriver dalam Python

    Pengesahan mudah, buka konsol baharu, masukkan nama fail pemacu, ini geckodriver.exe, dan ia boleh dibuka seperti biasa

    Cara menggunakan Selenium WebDriver dalam Python

    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

    3 Tulis skrip Selenium pertama

    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.title

    4. 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!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam