Почему иногда скриншоты полностью белые, используя Selenium и geckodriver (firefox)? - PullRequest
1 голос
/ 07 марта 2020

Я разрабатываю приложение с использованием Selenium в JavaScript. Цель состоит в том, чтобы автоматизировать тестирование с использованием модуля селена-драйвера.

Например, приложение использует ввод в качестве JSON ниже:

{
  "output": "out",
  "actions": [
    {
      "name": "get",
      "args": {
        "uri":"http://google.com"
      }
    },
    {
      "name": "screenshot",
      "args": {
        "filename": "home"
      }
    }
  ]
}

Поле output определяет где все потенциальные результаты должны быть сохранены; В поле actions перечислены все действия, которые будут выполнены во время выполнения.

Здесь первым шагом является загрузка http://google.com. Затем мы берем скриншот и сохраняем его как home .png.

Вот функция, вызываемая для выполнения скриншота. Обратите внимание, что поле args из JSON выше на самом деле является параметром функции.

execute(client, args) {
    client.driver.takeScreenshot().then(data => {
        const fs = require('fs');
        fs.writeFile(`${client.outputDir}/${args.filename}.png`, data.replace(/^data:image\/png;base64,/,''), 'base64', err => {
        if (err) throw err;
        });
    });
}

Проблема заключается в иногда скриншоте, работающем и сохраняющем дом Google, и иногда просто сохраняю белую картинку.

Я не нахожу кого-то с такой же проблемой, поэтому я надеюсь, что кто-нибудь поможет мне решить эту проблему.

...