繁体   English   中英

如何使用Geckodriver保留Firefox配置文件的缓存?

[英]How can I retain my Firefox profile's cache with Geckodriver?

我需要使用Selenium和Geckodriver保留我的缓存。 我有一个Firefox配置文件,并在启动Geckodriver时加载了它:

ProfilesIni profilesIni = new ProfilesIni();
FirefoxProfile firefoxProfile = profilesIni.getProfile("profile-name");
firefoxOptions.setProfile(firefoxProfile);

这可以按预期的方式工作,但不会复制缓存。 转到about:cache ,它是空的。 我想保留我的缓存,我想直接使用我的个人资料。 当前, Selenium/Geckodriver复制一部分配置文件并使用该配置文件,但不使用缓存。

使用Geckodriver时如何保留我的缓存?

我将现有的自定义Firefox配置文件与以下代码结合使用(完整):

FirefoxOptions options = new FirefoxOptions();

ProfilesIni allProfiles = new ProfilesIni();         
FirefoxProfile selenium_profile = allProfiles.getProfile("selenium_profile");
options.setProfile(selenium_profile);

options.setBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
System.setProperty("webdriver.gecko.driver", "C:\\Users\\pburgr\\Desktop\\geckodriver-v0.20.0-win64\\geckodriver.exe");
driver = new FirefoxDriver(options);
driver.manage().window().maximize();

和我的缓存正常“增长”。

如果零缓存仍然存在,请检查Firefox配置文件的设置(关闭时删除缓存)。

找出解决方案。

使用此方法加载配置文件不起作用:

FirefoxProfile firefoxProfile = profilesIni.getProfile("profile-name");

对我来说,这确实有效:

String profilePath = "C\\Users\\Name\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\myprofile";
FirefoxProfile firefoxProfile = new FirefoxProfile(new File(profilePath));

现在,我有了正确的完整缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM