Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menjeda Selenium WebDriver dengan Cekap dalam Python?

Bagaimana untuk Menjeda Selenium WebDriver dengan Cekap dalam Python?

Barbara Streisand
Lepaskan: 2024-12-19 19:01:16
asal
930 orang telah melayarinya

How to Efficiently Pause Selenium WebDriver Execution in Python?

Penyataan Menunggu dan Bersyarat dalam Selenium WebDriver

Soalan: Bagaimanakah saya boleh menjeda pelaksanaan Selenium WebDriver selama milisaat dalam Python?

Jawapan:

Sementara fungsi time.sleep() boleh digunakan untuk menggantung pelaksanaan selama beberapa saat tertentu, ia biasanya tidak disyorkan dalam Selenium WebDriver automasi.

Menggunakan Selenium's WebDriverWait

Sebaliknya, Selenium menyediakan kelas WebDriverWait bersama-sama dengan syarat yang dijangkakan untuk mengesahkan keadaan elemen. Berikut ialah keadaan biasa yang dijangkakan:

  1. Kehadiran Elemen Terletak: Menyemak sama ada elemen terdapat pada DOM.
  2. Keterlihatan Elemen Terletak : Menyemak sama ada elemen boleh dilihat dan mempunyai ketinggian dan lebar lebih besar daripada 0.
  3. Elemen Boleh Diklik: Menyemak sama ada elemen boleh dilihat, didayakan dan boleh berinteraksi.

Contoh:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10) # Timeout after 10 seconds

# Wait until an element is clickable
element = wait.until(EC.element_to_be_clickable((By.ID, "some_button")))
element.click()
Salin selepas log masuk

Kaedah ini lebih disukai dari semasa ke semasa.sleep() kerana ia mengelakkan menunggu dan menyemak yang tidak perlu untuk keadaan elemen yang diingini sebelum meneruskan, meningkatkan kecekapan ujian anda.

Rujukan:

Untuk maklumat lanjut, rujuk:

  • WebDriverWait tidak berfungsi seperti yang diharapkan: https://stackoverflow.com/questions/37372143/webdriverwait-not-working-as-expected

Atas ialah kandungan terperinci Bagaimana untuk Menjeda Selenium WebDriver dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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