Selenium报错TypeError: WebDriver.__init__()参数options重复传入求助
解决方案
错误根源
你的代码存在两个关键问题:
- 语法错误:
options-driverop里的连接符是减号,应该改成等号options=driverop - Selenium版本参数不兼容:不同版本的Selenium对
webdriver.Chrome()的参数定义不同,直接传驱动路径会导致参数冲突,这也是本地正常但RDP部署后报错的核心原因(本地和RDP的Selenium版本可能不一致)
具体修复步骤
第一步:修正语法错误
把代码里的options-driverop改为options=driverop,这是最基础的拼写错误。第二步:根据Selenium版本适配代码
- 如果RDP上是Selenium 3.x,明确指定
executable_path参数:driver = webdriver.Chrome(executable_path="chromedriver/chromedriver", options=driverop) - 如果RDP上是Selenium 4.x,必须使用
Service类来指定驱动路径:from selenium.webdriver.chrome.service import Service service = Service("chromedriver/chromedriver") driver = webdriver.Chrome(service=service, options=driverop)
- 如果RDP上是Selenium 3.x,明确指定
第三步:验证驱动与浏览器版本匹配
确认RDP上安装的Chrome浏览器版本,和你使用的chromedriver版本完全对应(大版本必须一致,比如Chrome 118对应chromedriver 118.x)。即使降级Selenium,版本不匹配也会引发各类异常。第四步:检查驱动路径正确性
确保"chromedriver/chromedriver"是RDP环境下的有效路径,建议先用绝对路径测试(比如"C:/path/to/chromedriver.exe"),排除路径错误问题。
内容的提问来源于stack exchange,提问作者Nasir Khan
相关产品推荐
相关产品推荐

