Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa WebDriverWait Gagal Mencari Elemen dalam Tetingkap Baharu?

Mengapa WebDriverWait Gagal Mencari Elemen dalam Tetingkap Baharu?

Linda Hamilton
Linda Hamiltonasal
2024-12-26 10:57:09775semak imbas

Why is WebDriverWait Failing to Find Elements in a New Window?

Penyimpangan WebDriverWait: Elemen Tidak Dikesan dalam Tetingkap Baharu

Dalam senario di mana tetingkap baharu muncul selepas melaksanakan acara klik (iaitu, "custom_cols") dan elemen dalam tetingkap itu gagal dikesan walaupun melaksanakan WebDriverWait, walaupun apabila ia kelihatan, a pemeriksaan berhati-hati terhadap kod adalah wajar.

Dalam kod yang disediakan, kaedah yang digunakan presence_of_element_located menunggu elemen muncul dalam DOM tetapi tidak menjamin keterlihatan atau kebolehklikannya. Untuk membetulkan ini, kaedah element_to_be_clickable harus digunakan sebaliknya. Kaedah ini memastikan elemen itu bukan sahaja hadir tetapi juga boleh dilihat, didayakan dan boleh berinteraksi.

try:
    myElem = WebDriverWait(self.browser, delay).until(EC.element_to_be_clickable((By.XPATH , xpath)))

Penjelasan Tambahan:

Tiga jangkaan WebDriver yang biasa digunakan untuk unsur keterlihatan:

  • presence_of_element_located: Menyemak sama ada elemen wujud dalam DOM.
  • visibility_of_element_located: Memastikan elemen kelihatan, mempunyai tinggi dan lebar lebih besar daripada 0.
  • elemen_untuk_boleh_klik: Mengesahkan bahawa elemen itu boleh dilihat, didayakan dan sedia klik.

Atas ialah kandungan terperinci Mengapa WebDriverWait Gagal Mencari Elemen dalam Tetingkap Baharu?. 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