You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium报错:WebDriver.init()收到意外关键字参数'executable_path'

解决Selenium中TypeError: WebDriver.init()收到意外关键字参数'executable_path'的问题

错误原因

Selenium 4及以上版本已移除了直接在webdriver.Firefox()中传入executable_path参数的方式,必须通过Service类来管理驱动文件路径。

修正方案

  1. 导入Firefox对应的Service类
  2. 用Service实例指定geckodriver路径,再传递给webdriver.Firefox()的service参数

修正后的完整代码

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.service import Service  # 新增导入Service类
from time import sleep

# 用Service指定驱动路径
service = Service("C:/geckodriver/geckodriver.exe")
driver = webdriver.Firefox(service=service)

def reset_password(username, email):
    driver.get("https://www.example.com/")  # 替换为实际目标网址
    sleep(2)
    
    # 注意:需确认页面元素实际的name属性值是否为"Email or Username"
    driver.find_element_by_name('Email or Username').send_keys(username)
    driver.find_element_by_name('Email or Username').send_keys(Keys.ENTER)
    sleep(2)
    
    driver.find_element_by_name('Email or Username').send_keys(email)
    driver.find_element_by_name('Email or Username').send_keys(Keys.ENTER)
    sleep(2)
    
    driver.quit()

# 调用函数时传入实际用户名和邮箱
# reset_password("your_username", "your_email@example.com")

额外注意事项

  • 原代码中reset_password函数定义后,后续代码未缩进,导致函数逻辑为空、执行代码暴露在函数外,这会引发逻辑错误,修正后已将相关代码缩进至函数内部。
  • 若geckodriver已添加到系统环境变量中,Selenium 4.3+版本可省略手动指定路径,直接使用driver = webdriver.Firefox()即可。

内容的提问来源于stack exchange,提问作者hjj734

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:08:24