JavaScript環境でScreenshot撮ろうと思ったらエラーが出たので対応メモ。
場所の準備
cd
mkdir ss_test
cd ss_test
npm install selenium-webdriver chromedriver dayjs
dayjsはおまけ。
実装
const { Builder, By } = require("selenium-webdriver");
require("chromedriver");
const fs = require("fs");
const dayjs = require("dayjs");
(async()=>{
const driver = await new Builder().forBrowser("chrome").build();
await driver.get("http://www.yahoo.co.jp");
const img = await driver.takeScreenshot();
const fileName = "evicence_" + dayjs().format("YYYYMMDDHHmmss") + ".png";
await fs.writeFileSync(fileName,img,"base64");
await driver.quit();
})();
エラー
ECONNREFUSED connect...的なエラーが出た。
原因と対応
どうやらwebdriver-managerなるもんが起動してないことによるものらしい。
npx webdriver-manager start --standalone