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
Lepaskan: 2024-12-21 22:21:29
asal
274 orang telah melayarinya

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
Salin selepas log masuk

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")))
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan