如何使用 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();
我的缓存 "grows" 正常。
如果零缓存仍然存在,请检查 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));
我现在有了正确的完整缓存。
我需要使用 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();
我的缓存 "grows" 正常。
如果零缓存仍然存在,请检查 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));
我现在有了正确的完整缓存。