Chrome 사용 시 Selenium "NoSuchElementException"
Chrome에서 Selenium을 사용하여 QWOP 게임을 플레이할 때 "selenium.common"이 발생할 수 있습니다. .Exceptions.NoSuchElementException" 오류. 이는 일반적으로 Selenium이 주어진 로케이터를 사용하여 지정된 요소를 찾을 수 없을 때 발생합니다.
NoSuchElementException에 대한 이유
솔루션
이 사용 사례
제공된 코드에서 "selenium.common. 예외.NoSuchElementException"은 ID 로케이터("window1")가 캔버스 요소를 고유하게 식별하지 않기 때문에 발생합니다. 이 문제를 해결하려면 다음 수정된 코드를 사용하세요.
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait browser = webdriver.Chrome() browser.set_window_size(640, 480) browser.get('http://www.foddy.net/Athletics.html?webgl=true') browser.implicitly_wait(10) canvas = WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))) canvas.click() while (True): action = ActionChains(browser) action.move_to_element(canvas).perform() canvas.click() canvas.send_keys("q")
이 수정을 통해 Selenium은 캔버스와 상호작용을 시도하기 전에 캔버스를 클릭할 수 있을 때까지 기다립니다.
위 내용은 Chrome에서 QWOP 게임을 제어할 때 Selenium이 'NoSuchElementException'을 발생시키는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!