Selenium v3.141初始化Firefox遇TypeError: WebDriver.__init__()参数错误
解决Selenium v3.141中
TypeError: WebDriver.__init__() got an unexpected keyword argument 'service'错误 你遇到的问题是因为Selenium v3.141不支持service参数,Service类是Selenium 4才引入的特性,在3.x版本中初始化Firefox驱动时,需要直接通过executable_path参数指定geckodriver路径,不需要封装成Service对象。
修改后的代码如下:
from selenium.webdriver import Firefox from selenium.webdriver.firefox.options import Options from selenium.webdriver.common.by import By options = Options() options.set_preference('browser.download.folderList', 2) options.set_preference('browser.download.manager.showWhenStarting', False) options.set_preference('browser.download.dir', 'C:\\Users\\Own\\data') options.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/plain') options.set_preference('browser.helperApps.neverAsk.openFile', 'text/plain') # Selenium 3.x 直接通过 executable_path 指定驱动路径 browser = Firefox(executable_path='C:\\Users\\Own\\geckodriver-v0.33.0-win64\\geckodriver.exe', options=options)
另外注意:代码里同时导入了FirefoxOptions和Options,这两个在Selenium 3.x中是同一个类,保留其中一个即可,上面的代码已经去掉了冗余的FirefoxOptions导入。
内容的提问来源于stack exchange,提问作者user1315789
相关产品推荐
相关产品推荐

