selenium webdriver python:打开chrome浏览器运行测试用例不加载浏览器的已保存设置

时间:2012-12-12 13:26:59

标签: python selenium selenium-webdriver

我正在尝试在Chrome浏览器中运行selenium测试用例。在此之前,我已将chrome浏览器文件的默认下载位置设置为f:/ xyz

当运行selenium脚本时,点击链接下载文件 - 它会在chrome的默认位置(c:/ documents和settings / downloads)下载,而不是在我之前设置的f:/ xyz中下载

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

更有可能的是,此处的问题是下载位置与特定用户配置文件相关联,Chrome驱动程序遵循与Firefox驱动程序相同的模式,默认情况下,它使用完全干净的用户配置文件的副本每次运行时,Selenium都不会为您的用户设置下载位置。在Firefox中,解决方案是创建自定义Firefox配置文件,然后告诉Selenium使用它运行。我敢打赌Chrome驱动程序中有一个类似的功能。

根据docs

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--user-data-dir=/path/to/profile/directory"));
WebDriver driver = new ChromeDriver(capabilities);

是的,这是Java,但转换到Python应该相当容易。此外,请注意文档说有一个关于能够设置自定义配置文件的已知错误。

编辑:

我认为我找到了适合您的温和解决方案。

  1. 转到包含
  2. 下运行的操作系统上的用户/主文件夹的主文件夹
  3. 在SYSTEM用户文件夹下,找到Chrome user data directory
  4. 打开首选项文件(它是原始文本,因此任何文本编辑器都可以使用)
  5. 在“下载”节点下,创建或修改“default_directory”节点,使其成为您想要的任何下载位置
  6. 请注意,这些步骤假设Selenium实际上在SYSTEM用户下至少运行过一次Chrome。如果没有,您可以手动创建所需的目录,例如在SYSTEM用户的指导下运行Chrome,例如终端。

答案 1 :(得分:1)

当时无法完成。来自http://code.google.com/p/selenium/wiki/ChromeDriver的官方ChromeDriver Wiki:

已知问题 ChromeDriver存在一些已知问题,如下所示:

  1. 只能检索设置Cookie的名称和值(无域,路径等)
  2. 键入不适用于启用富文本的文档。
  3. 无法指定自定义配置文件
  4. 未实施HTML 5 API