Selenium4调用add_experimental_option报错:WebDriver无此属性求助
问题描述
我遇到了技术问题,急需帮助,无法理解错误原因。我正在尝试通过prefs修改谷歌浏览器的偏好设置,以便指定下载目录,但运行代码时报错。我使用的是Selenium4版本。
我的代码如下:
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import Select, WebDriverWait from selenium.common.exceptions import NoSuchElementException import os from bs4 import BeautifulSoup from pywinauto import Application, findwindows, WindowSpecification #Iniciando o chromedriver pasta_atual = os.getcwd() service = Service("./chromedriver.exe") chrome_options = Options() prefs = {'download.prompt_for_download': 'true'} driver = webdriver.Chrome(service=service, options=chrome_options) driver.add_experimental_option("prefs", prefs)
运行代码时出现如下错误:
driver.add_experimental_option("prefs", prefs) AttributeError: 'WebDriver' object has no attribute 'add_experimental_option' 'WebDriver' object has no attribute 'add_experimental_option'
解决方法
add_experimental_option是ChromeOptions对象的方法,不属于WebDriver对象,你在初始化driver后调用该方法才会触发AttributeError。
正确操作是在初始化WebDriver之前,先给chrome_options添加实验性选项,再将配置好的options传入webdriver.Chrome()。如果要指定下载目录,可在prefs中添加download.default_directory字段:
修改后的核心代码:
pasta_atual = os.getcwd() service = Service("./chromedriver.exe") chrome_options = Options() # 配置下载偏好:关闭下载提示并指定当前目录为下载路径 prefs = { 'download.prompt_for_download': False, 'download.default_directory': pasta_atual } # 为options添加实验性配置 chrome_options.add_experimental_option("prefs", prefs) # 用配置完成的options初始化driver driver = webdriver.Chrome(service=service, options=chrome_options)
调整后即可正确配置Chrome的下载偏好,不会再出现该错误。
内容的提问来源于stack exchange,提问作者henriiquerick
相关产品推荐
相关产品推荐

