Selenium v4.12.0 Remote ChromeDriver调用get_downloadable_files()报错
解决Selenium Remote驱动调用get_downloadable_files()报错的问题
你遇到的问题核心是:通过webdriver.Remote初始化的驱动是通用WebDriver实例,而get_downloadable_files()是ChromeDriver专属方法,通用WebDriver对象没有这个属性。
解决方案:将Remote驱动转换为Chrome专属驱动类型
- 导入Chrome专属的WebDriver类
- 在初始化驱动后,将Remote实例转换为ChromeWebDriver类型
修改后的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.webdriver import WebDriver as ChromeWebDriver def init_driver(): chrome_options = webdriver.ChromeOptions() chrome_options.enable_downloads = True remote_url = "http://localhost:4444/wd/hub" # 初始化Remote驱动 remote_driver = webdriver.Remote(command_executor=remote_url, options=chrome_options) # 转换为Chrome专属驱动实例 chrome_driver = ChromeWebDriver(remote_driver.session_id, remote_url, options=chrome_options) return chrome_driver
验证调用
使用转换后的驱动即可正常调用方法:
driver = init_driver() # 执行下载操作后调用 downloads = driver.get_downloadable_files() print(downloads)
注意事项
- 确保Docker中使用的Selenium Grid镜像版本与本地Selenium版本(v4.12.0)一致,建议使用
selenium/standalone-chrome:4.12.0镜像 - 已设置的
chrome_options.enable_downloads = True是开启下载功能的必要配置,请勿移除
内容的提问来源于stack exchange,提问作者Zahidul Islam
相关产品推荐
相关产品推荐

