Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Tidur Dengan Tepat dalam Selenium WebDriver Menggunakan Python, dan Apakah Alternatif yang Lebih Baik untuk `time.sleep()`?

Bagaimanakah Saya Boleh Tidur Dengan Tepat dalam Selenium WebDriver Menggunakan Python, dan Apakah Alternatif yang Lebih Baik untuk `time.sleep()`?

Susan Sarandon
Susan Sarandonasal
2024-12-21 22:21:29261semak imbas

How Can I Precisely Sleep in Selenium WebDriver Using Python, and What Are Better Alternatives to `time.sleep()`?

Sleeping Selenium WebDriver in Python for Milliseconds

Sementara pustaka masa menyediakan masa.sleep(sec) untuk menggantung pelaksanaan, mencapai ketepatan 250 milisaat memerlukan penentuan nombor pecahan daripada saat:

import time
time.sleep(0.25) # Sleep for 250 milliseconds

Walau bagaimanapun, penggunaan masa yang berlebihan.sleep(sec) tidak digalakkan dalam automasi Selenium WebDriver, kerana ia boleh menghalang kecekapan.

Alternatif kepada time.sleep()

Sebaliknya, pertimbangkan untuk menggunakan WebDriverWait() bersama-sama dengan expected_conditions(). Tiga keadaan yang biasa digunakan termasuk:

presence_of_element_located:

  • Bertujuan untuk mencari elemen pada DOM, tanpa mengira keterlihatan atau interaktiviti.

keterlihatan_elemen_terletak:

  • Menyemak sama ada unsur hadir, boleh dilihat dan mempunyai ketinggian bukan sifar dan lebar.

elemen_untuk_boleh_klik:

  • Memastikan elemen kelihatan, didayakan dan boleh berinteraksi, membenarkan klik.

Cara Penggunaan WebDriverWait()

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "my_button")))

Contoh ini menunggu sehingga 10 saat untuk elemen dengan ID "my_button" boleh diklik sebelum meneruskan.

Rujukan

  • [WebDriverWait Not Working as Dijangka](https://stackoverflow.com/questions/39294435/webdriverwait-not-working-as-expected)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Tidur Dengan Tepat dalam Selenium WebDriver Menggunakan Python, dan Apakah Alternatif yang Lebih Baik untuk `time.sleep()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn