При создании снимка экрана с помощью WebDriver Facebook в цикле PHP7 размер изображения создается как 0.
Сообщение об ошибке
(!) Предупреждение: base64_decode () ожидает, что параметр 1 будет строкой, массив представлен в /var/www/★★★★★/composer/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php в строке 363
Пробный код
require_once('/var/www/★★★★★/composer/vendor/autoload.php');
$driverPath = '/usr/local/bin/chromedriver';
putenv("webdriver.chrome.driver=" . $driverPath);
$options = new Facebook\WebDriver\Chrome\ChromeOptions();
$userAgent ='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36';
$options->addArguments(['--headless','--disable-gpu','--user-agent=' . $userAgent]);
$capabilities = Facebook\WebDriver\Remote\DesiredCapabilities::chrome();
$capabilities->setCapability(Facebook\WebDriver\Chrome\ChromeOptions::CAPABILITY, $options);
$driver = Facebook\WebDriver\Chrome\ChromeDriver::start($capabilities);
foreach ($data as $key => $val):
$directory_path = '/var/www/★★★★★';
$filename = date("Y-m-d-H-i-s");
$fname = $filename.'.jpg';
$url = $val['target_url'];
if ($val['target_url']&&(0 !== strpos($val['target_url'], 'https://web.archive.org/'))) {
$driver->get($url);
$driver->manage()->window()->maximize();
$contentWidth = $driver->executeScript("return Math.max(document.body.scrollWidth, document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);");
$contentHeight = $driver->executeScript("return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);");
$dimension_content = new Facebook\WebDriver\WebDriverDimension($contentWidth, $contentHeight);
$driver->manage()->window()->setSize($dimension_content);
$filePath = $directory_path."/".$fname;
if(!file_exists($directory_path)){
if(mkdir($directory_path, 0777)){
chmod($directory_path, 0777);
}else{
}
}
try
{
$driver->takeScreenshot($filePath);
} catch (\Throwable $e) {
}
}
$driver->close();
endforeach;
среда PHP7 CentOS7 Facebook WebDriver Безголовый Google Chrome