是Firefox还是Geckodriver,它可以创建" rust_mozprofile"目录

时间:2017-09-07 05:25:52

标签: selenium firefox selenium-webdriver geckodriver

每当我们调用Firefox时,在' / tmp'目录rust_mozprofile目录正在创建中。由于Firefox内部称为Geckodriver,我们不确定Firefox或Geckodriver是否正在创建rust_mozprofile目录。

我想知道Geckodriver还是Firefox,因为我的' / tmp'目录的内存较少。

所以问题是我真的想修改为rust_mozprofile创建目录的路径。

我正在使用以下技术,

  • 硒 - 3.3.0
  • Firefox - 52.2.0
  • Geckodriver - 13

如果有任何建议,请给我们一些建议。

4 个答案:

答案 0 :(得分:3)

如果您仔细查看 geckodriver v0.18.0 日志,您会发现以下行中出现 rust_mozprofile 的第一次出现:

1504762617094   Marionette  CONFIG  Matched capabilities: {"browserName":"firefox","browserVersion":"56.0","platformName":"windows_nt","platformVersion":"6.2","pageLoadStrategy":"normal","acceptInsecureCerts":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"rotatable":false,"specificationLevel":0,"moz:processID":5848,"moz:profile":"C:\\Users\\AtechM_03\\AppData\\Local\\Temp\\rust_mozprofile.OfFuR9ogm33d","moz:accessibilityChecks":false,"moz:headless":false}

此日志清楚地表明Marionette正在配置 "moz:profile":"C:\\Users\\AtechM_03\\AppData\\Local\\Temp\\rust_mozprofile.OfFuR9ogm33d" ,此配置由WebDriver实例完成,即 {{1 }}

geckodriver 在内部配置 GeckoDriver ,然后启动 {{1} }

IMO,此工作流程已在实践中,因为我们已从 Marionette 迁移到 Mozilla Firefox Browser Legacy Firefox < / strong>即可。因此,Marionette也必须如此。

更新

GeckoDriver作为应用程序/ exe文件: enter image description here

答案 1 :(得分:0)

我有一个类似的问题,我通过更改Windows中的“环境”设置来解决。这意味着我更改了TMP和TEMP文件的目录,并且在重新引导后,在需要的位置生成了rust_mozprofile文件夹。

这是我使用的来源:https://www.toolsqa.com/selenium-webdriver/how-to-use-geckodriver/特别是“环境变量中的Set属性:-”部分。

不幸的是,这将影响所有将文件保存到那些文件夹的软件。 (在我的情况下,这就是我想要的。)如果有一种方法可以通过该程序在特定目录中仅创建rust_mozprofile文件夹,我想了解更多。

答案 2 :(得分:0)

您可以使用TMPDIR envvar设置位置。为其他程序设置TMP和TEMP也很有用。

答案 3 :(得分:-1)

解决方案是使用driver.quit()关闭所有浏览器并处理配置文件

另一种解决方案是添加自定义配置文件

fp = webdriver.FirefoxProfile('specify location to profile .default') 
driver = webdriver.Firefox(firefox_profile=fp)