"NoSuchElementException" Selenium berlaku apabila ia gagal untuk mengesan elemen dalam DOM HTML. Dalam kes ini, anda menghadapi ralat ini semasa menggunakan Chrome untuk memainkan QWOP menggunakan Selenium.
Kod Selenium yang anda berikan menggunakan "find_element_by_id" untuk mencari elemen "window1". Walau bagaimanapun, pencari ini mungkin tidak mengenal pasti secara unik elemen dalam DOM, yang membawa kepada "NoSuchElementException."
Untuk menyelesaikan isu ini, anda boleh menggunakan strategi pencari yang lebih khusus, seperti :
Selain itu, pastikan elemen itu boleh dilihat dan dalam port pandangan sebelum cuba mencarinya. Jika perlu, gunakan WebDriverWait dengan keadaan yang dijangkakan seperti element_to_be_clickable untuk menunggu elemen boleh diklik sebelum berinteraksi dengannya.
Dalam kes khusus ini, anda perlu menunggu sehingga Kanvas "window1" boleh diklik sebelum mengklik padanya:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))).click()
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'selenium.common.exceptions.NoSuchElementException' Apabila Menggunakan Selenium dengan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!