Python中使用webdriver与ChromeDriverManager时options参数报错求助
问题解决方法
错误原因
你把options参数错误地传给了Service类的构造函数,但Service类仅负责管理驱动服务,并不接收options参数。options应该直接作为webdriver.Chrome的初始化参数传入。
修正后的代码
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # 两种初始化options的方式都有效,任选其一即可 options = webdriver.ChromeOptions() # options = Options() options.add_argument("start-maximized") options.add_argument("--headless") options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) # 将options从Service的参数中移出,作为webdriver.Chrome的独立参数传入 driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) driver.get(url)
补充说明
webdriver.ChromeOptions()和Options()本质是同一个类的不同导入方式,两者都能正常工作,之前的问题和这个无关,核心错误是参数传递的位置不对。
内容的提问来源于stack exchange,提问作者V.Nouri
相关产品推荐
相关产品推荐

