Селен php-webdriver: загрузка файлов PDF в пользовательское место с помощью узла Firefox 3.0
Я пытаюсь скачать PDF-файлы, используя php-webdriver и firefox node. Я выполнил некоторый поиск, и вот последний код, который работал для всех, и частично для меня, для старой версии узла Firefox (2.53.1),
// Config for download
$this->profile->setPreference("pdfjs.disabled", true); // Disable the default pdf viewer of firefox
$this->profile->setPreference("browser.download.folderList", 2); // 2 meaning - download in the path I provide
//Set downloadPath
$this->profile->setPreference("browser.download.dir", './');
$this->profile->setPreference("browser.download.useDownloadDir", true);
$this->profile->setPreference("browser.download.manager.showWhenStarting", false);
//Set File Open & Save preferences
$this->profile->setPreference("browser.helperApps.neverAsk.saveToDisk","application/pdf");
и пытается загрузить простой PDF, как показано ниже,
$this->exts->webdriver->get('https://ui-pradeep-dev.getmyinvoices.de/305-3261347-2449165.pdf');
Вот исключение, которое я получаю,
2018-06-04 17:15:41: Navigating to URL : https://ui-pradeep-dev.getmyinvoices.de/305-3261347-2449165.pdf
PHP Fatal error: Uncaught exception 'Facebook\WebDriver\Exception\WebDriverCurlException' with message 'Curl error thrown for http POST to /session/44e7624c-6b2a-4687-81a1-2fcf0315e023/url with params: {"url":"https:\/\/ui-pradeep-dev.getmyinvoices.de\/305-3261347-2449165.pdf"}
Я бегу с докеризованным селен-хабом и firefox-узлом. Ниже приведена команда, используемая для запуска селенового концентратора и Firefox,
docker run -d --shm-size 2g -p 4444:4444 -e GRID_TIMEOUT=0 -e GRID_BROWSER_TIMEOUT=0 --name selenium-hub selenium/hub:latest
docker run -d --shm-size 2g -e LANG=de -e GRID_TIMEOUT=0 -e GRID_BROWSER_TIMEOUT=0 -e SCREEN_WIDTH=1920 -e SCREEN_HEIGHT=1080 --name selenium-node --link selenium-hub:hub selenium/node-firefox:3.0
Я пробовал несколько других версий для hub и firefox, и загрузка, кажется, частично работает с версией 2.53.1, но это более старая версия, и я предпочитаю последнюю.
Кроме того, в версии 2.53.1 Firefox загружается только в каталог по умолчанию, а не в пользовательский путь, который я указал. Вот путь по умолчанию, и он автоматически удаляется, как только я убиваю док-контейнер,
/var/lib/docker/overlay2/ea345f2a5a521d95e7bb3ff0ad3a07c9d302e53b683af63018803a0c80ec86cd/merged/home/seluser/Downloads/305-3261347-2449165(6).pdf
Мои вопросы
Почему загрузка PDF не будет работать с последними версиями Firefox и Selen-Hub?
С версией 2.53.1, как мне заставить Firefox загружать pdf по указанному мною пути?
Спасибо за любые рекомендации.