mirror of
https://github.com/Karaka-Management/Build.git
synced 2026-01-11 19:58:41 +00:00
72 lines
2.2 KiB
JavaScript
72 lines
2.2 KiB
JavaScript
const {By,Key,Builder} = require("selenium-webdriver");
|
|
const chrome = require('selenium-webdriver/chrome');
|
|
|
|
const { promises: fs} = require('fs');
|
|
const fsync = require('fs');
|
|
const path = require('path');
|
|
|
|
async function Screenshot(driver, url, xpath, output) {
|
|
const dir = path.dirname(output);
|
|
if (!fsync.existsSync(dir)) {
|
|
fsync.mkdirSync(dir, { recursive: true });
|
|
}
|
|
|
|
await driver.get(url).then(function () {
|
|
if (url.includes('#')) {
|
|
driver.findElement(By.css('label[for=' + url.substring(url.indexOf('#') + 1) + ']')).click();
|
|
}
|
|
|
|
return driver.findElement(By.xpath(xpath));
|
|
}).then(function (ele) {
|
|
ele.click();
|
|
driver.actions().scroll(0, 0, 0, 0, ele).perform();
|
|
|
|
return ele;
|
|
}).then(function (ele) {
|
|
return ele.takeScreenshot(true);
|
|
}).then(function (encodedString) {
|
|
return fsync.writeFileSync(output, encodedString, 'base64');
|
|
});
|
|
}
|
|
|
|
const base = 'http://192.168.178.38/en';
|
|
|
|
(async function createImages() {
|
|
const driver = await new Builder().forBrowser("chrome").build();
|
|
await driver.get(base);
|
|
await driver.manage().setTimeouts({ implicit: 3000 });
|
|
await driver.manage().window().setRect({ width: 1920, height: 1080 });
|
|
await driver.findElement(By.id('iLoginButton')).click();
|
|
await driver.sleep(1000);
|
|
|
|
const files = await fs.readdir(__dirname + '/../../../Modules');
|
|
const length = files.length;
|
|
|
|
for (let i = 0; i < length; ++i) {
|
|
try {
|
|
const src = JSON.parse(fsync.readFileSync(__dirname + '/../../../Modules/' + files[i] +'/Docs/img.json', 'utf8'));
|
|
await loop (driver, src)
|
|
} catch (e) {
|
|
//console.log(e.message);
|
|
}
|
|
}
|
|
|
|
await driver.quit();
|
|
})();
|
|
|
|
async function loop(driver, src) {
|
|
const length = src.length;
|
|
for (let i = 0; i < length; ++i) {
|
|
try {
|
|
await Screenshot(driver,
|
|
base + src[i][0],
|
|
src[i][1],
|
|
__dirname + '/../../../Modules' + src[i][2]
|
|
);
|
|
} catch(error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
};
|
|
|
|
// "C:\Program Files\nodejs\node.exe" Build/Js/createImages.js
|