Селен 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

Мои вопросы

  1. Почему загрузка PDF не будет работать с последними версиями Firefox и Selen-Hub?

  2. С версией 2.53.1, как мне заставить Firefox загружать pdf по указанному мною пути?

Спасибо за любые рекомендации.

0 ответов