Python Selenium操作失败及find_element_by_id报错问题求助
问题原因与解决方案
核心报错原因
- executable_path参数已弃用:Selenium 4.x版本不再支持直接将ChromeDriver路径作为参数传入
webdriver.Chrome(),必须通过Service对象传递驱动路径。 - 旧元素定位方法被移除:
find_element_by_id这类以find_element_by_*开头的方法在Selenium 4.x中已被移除,需改用find_element()配合By类进行元素定位。
具体修复步骤
1. 导入必要的新增模块
需要导入Service(来自selenium.webdriver.chrome.service)和By(来自selenium.webdriver.common.by),如果用显式等待还需导入WebDriverWait和expected_conditions。
2. 替换驱动初始化方式
用Service对象封装ChromeDriver路径,再传给webdriver.Chrome()。
3. 替换元素定位方法
将所有find_element_by_id("xxx")替换为find_element(By.ID, "xxx")。
4. 用显式等待替代time.sleep()(推荐)
显式等待能在元素加载完成后立即执行操作,比固定延迟更可靠,避免因页面加载慢导致的元素找不到问题。
修改后的完整代码
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 初始化Chrome驱动 service = Service('/Users/User/Desktop/it_projects/python-google-automation/Neuer Ordner/chromedriver') driver = webdriver.Chrome(service=service) # 打开目标网站 driver.get('https://www.nike.com/de/?cp=58194921917_search_%7cnike%7c10594878138%7c107792850434%7ce%7cc%7cDE%7cpure%7c452291007809&ds_rl=1252249&gclid=EAIaIQobChMIod-_o8jD-QIVE4XVCh1-FggsEAAYASAAEgJSYfD_BwE&gclsrc=aw.ds') try: # 处理Cookie弹窗:等待"更多信息"按钮可点击并点击 evade_cookie = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.ID, 'hf_cookie_text_moreInformation')) ) evade_cookie.click() # 等待"完成"按钮可点击并点击 select_cookie = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.ID, 'hf_cookie_label_done')) ) select_cookie.click() # 搜索运动鞋:等待搜索框可点击后输入内容并提交 search = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.ID, 'VisualSearchInput')) ) search.send_keys('Nike Dunk Low') search.send_keys(Keys.RETURN) finally: # 可选:操作完成后关闭浏览器,注释掉可保留窗口查看结果 # driver.quit() pass
额外说明
- 显式等待的超时时间(示例中为10秒)可根据网站实际加载速度调整。
- 如果仍出现元素定位失败,建议通过浏览器开发者工具(F12)重新确认元素ID是否有变化(网站可能动态更新DOM结构)。
内容的提问来源于stack exchange,提问作者Sami Ceidre
相关产品推荐
相关产品推荐

