使用Selenium抓取AJAX页面时遭遇ElementNotInteractableException异常的求助
使用Selenium抓取AJAX页面时遭遇ElementNotInteractableException异常的求助
各位大佬好,我最近在做一个小爬虫,想要从赛马网站上抓取所有马的名字。这个网站的机制是得输入至少三个字符,才会通过AJAX加载对应的马名列表。我写了下面这段代码,但运行的时候总是抛出ElementNotInteractableException异常,试了调整等待时间这些方法还是没解决,有没有能帮我看看问题出在哪?
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time driver = webdriver.Chrome() driver.get("https://www.indiarace.com/Home/horseStatistics/") wait = WebDriverWait(driver, 10) select_element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.form-control.search_header.js-data-example-ajax'))) horse_names = set() for letter1 in range(ord('a'), ord('z') + 1): for letter2 in range(ord('a'), ord('z') + 1): for letter3 in range(ord('a'), ord('z') + 1): search_query = f"{chr(letter1)}{chr(letter2)}{chr(letter3)}" select_element.send_keys(search_query) time.sleep(2) options = select_element.find_elements_by_tag_name('option') for option in options: horse_names.add(option.text) for name in horse_names: print(name) driver.quit()
备注:内容来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

