相关疑难解决方法(0)

如何在 webdriver 运行时更改默认下载文件夹?

我正在下载几个不同的数据集,并希望每个文件(或集)下载到特定文件夹。我已经学会了如何在这些页面更改下载目录:

在 Python 中使用 Selenium Webdriver 设置 Chrome 首选项

更改默认 chrome 下载文件夹 webdriver C#

问题是这些方法只允许我在打开 webdriver 时更改下载目录。进入下载页面需要一段时间,所以这样做是一个无效的解决方案。我尝试过设置首选项,但我正在 python 中使用 selenium webdriver 和 chrome,但我无法在 SO 或 python 帮助中找到任何内容。即使在新驱动程序上切换窗口句柄也不起作用,因为它无法抓取另一个驱动程序已经打开的窗口。

下载站点的链接是自定义的,因此也无法复制并粘贴到新驱动程序中。到目前为止,我一直在使用 os. 模块来获取每个新文件的名称,但由于下载时间不同,即使这样也不可靠。

如果有人对如何在 webdriver 运行时将默认设置更改为 webdriver 有任何想法,那就太好了。谢谢!

python selenium google-chrome download preferences

6
推荐指数
1
解决办法
4965
查看次数

更改现有网络驱动程序中的 ChromeOptions

场景:需要将文件从 Web 层次结构下载到同一层次结构下的本地驱动器。

示例 Web 层次结构:

Parent 1:  
  Child 1:  
    *File 1  
  Child 2:  
    *File 2  
Run Code Online (Sandbox Code Playgroud)

下载文件 1 时,它应该存储在路径 1 - "C:\....\Downloads\Parent 1\Child 1\"

下载文件 2 时,它应该存储在路径 2 - "C:\....\Downloads\Parent 1\Child 2\"

问题

当我在 chrome webdriver 中保留“C:....\Downloads\Parent 1\Child 1\”下载路径,同时在 setUp() 中第一次初始化 webdriver 并下载“File 1”时,它会下载到预期的文件夹中。但是,当我在 chrome webdriver 中设置下一个“C:....\Downloads\Parent 1\Child 2\”下载路径以在其中下载文件 2 时,它会打开另一个 chrome 浏览器,因为我正在使用另一个 webdriver 来设置路径 2。

所需的解决方案

我想使用现有的 webdriver 来设置不同的 chrome 下载路径或您能想到的任何其他解决方法。

当前代码

def setUp(self):  
browser = webdriver.Chrome(chromedriver_path, option_with_path_1_set)

def test_downloadFiles(self):  
\*code to download first file\* …
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome selenium-chromedriver chrome-options

6
推荐指数
1
解决办法
6666
查看次数