Как я могу сохранить кэш моего профиля Firefox с Geckodriver? - PullRequest
0 голосов
/ 14 мая 2018

Мне нужно сохранить кэш с Selenium и Geckodriver. У меня есть профиль Firefox, и я загружаю его при запуске Geckodriver:

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

Это работает так, как задумано, но не копирует кеш. Переходя к about:cache, пусто. Я хочу сохранить свой кэш, я хочу использовать свой профиль напрямую. В настоящее время Selenium/Geckodriver копирует часть профиля и использует его, но не кэш.

Как мне сохранить кеш при использовании Geckodriver?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Разобрался с решением.

Загрузка профиля с помощью этого не работает:

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

Однако для меня это сработало:

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

Iтеперь мой правильный, полный кеш.

0 голосов
/ 14 мая 2018

Я использую существующий пользовательский профиль 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 (удалять кеш при закрытии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...