很有可能的是,下载位置与特定的用户配置文件相关联,Chrome驱动程序遵循与Firefox驱动程序相同的模式,默认情况下,每次运行时都会使用完全干净的用户配置文件副本,因此,您为用户设置的下载位置不会被Selenium获取。在Firefox中,解决方案是创建一个自定义的Firefox配置文件,然后告诉Selenium使用它运行。我敢打赌在Chrome驱动程序中也有类似的功能。在DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList(" user-data-dir=/path/to/profile/directory"));
WebDriver driver = new ChromeDriver(capabilities);
是的,这是Java,但是它应该很容易翻译成Python。另外,请注意,文档中说有一个关于能够设置自定义配置文件的已知错误。在
编辑:
我想我找到了一个稍微老套的解决方案,应该对你有用。在转到主文件夹,该文件夹包含正在运行的操作系统上的用户/主文件夹
打开首选项文件(它是原始文本,因此任何文本编辑器都可以工作)
在“下载”节点下,创建或修改“default_directory”节点,使其成为您想要的任何下载位置
注意,这些步骤假设Selenium在系统用户下至少运行了一次Chrome。如果没有,你可以通过在系统用户下运行Chrome来手动创建所需的目录,例如从终端。在