Selenium抓取Fezbet体育博彩站点时WebDriverWait参数报错求解
问题修复方案
你代码存在两处明确错误,对应修复方法如下:
- 第一个错误:
WebDriverWait参数传值错误WebDriverWait类初始化的第一个必填参数是你创建的driver实例,第二个参数才是超时秒数,你之前只传入了超时数值10,导致构造函数识别不到必填的timeout参数,触发类型错误。 - 第二个错误:复合类名定位规则错误
By.CLASS_NAME仅支持传入单个类名进行匹配,你传入的包含空格的多类名属于复合类名,无法被正常识别,需要改用By.CSS_SELECTOR定位,将所有类名前加.、空格替换为.拼接即可。
修正后完整代码片段
frame_ref = driver.find_elements_by_tag_name("iframe")[0] iframe = driver.switch_to.frame(frame_ref) Odds = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.asb-flex-cc.asb-cut.asb-pos-stretch._asb_events-table-row-markets--price-block-content._asb_price-block-content')))
内容的提问来源于stack exchange,提问作者Senne Van De Perre
相关产品推荐
相关产品推荐

