LINUX.ORG.RU

Selenium, Firefox и SVG

 , , ,


0

2

Пытаюсь получить «скриншот» SVG изображения через headless firefox, но на выходе получаю файл размером 0 байт. При этом локальный html рисует нормально.

Код:

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;
var fs = require('fs');

var firefox = require('selenium-webdriver/firefox');

var firefoxOptions = new firefox.Options();
firefoxOptions.setBinary('/usr/bin/firefox');
firefoxOptions.headless();

var driver = new webdriver.Builder()
    .forBrowser('firefox')
    .setFirefoxOptions(firefoxOptions)
    .build();


driver.get('file:///home/razr/test.svg');

webdriver.WebDriver.prototype.saveScreenshot = function(filename) {
    return driver.takeScreenshot().then(function(data) {
        console.log(data) // empty
        fs.writeFile(filename, data.replace(/^data:image\/png;base64,/,''), 'base64', function(err) {
            if(err) throw err;
        });
    })
};

driver.saveScreenshot('out.png');

driver.quit();

Я во всём этом вебе ноль, поэтому вообще хз что не так. Ошибок никаких не выдаёт.

Firefox 58.0.1

selenium-webdriver 3.6.0

geckodriver-v0.19.1-linux64