This repository has been archived by the owner on Apr 23, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
screenshot.js
57 lines (50 loc) · 1.53 KB
/
screenshot.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
exports.run = function (url, prefix) {
var assert = require('assert');
var fs = require('fs');
var wd = require('webdriver-sync');
var path = require('path');
var By = wd.By;
var ChromeDriver = wd.ChromeDriver;
var ChromeDriverService = wd.ChromeDriverService;
var File = wd.File;
var findsChromeDriver = require("./node_modules/webdriver-sync/src/lib/finds-chrome-driver");
var service = new ChromeDriverService.Builder()
.usingAnyFreePort()
.usingDriverExecutable(new File(findsChromeDriver.find()))
.withEnvironment({"DISPLAY":":99.0"})
.build();
var driver = new ChromeDriver(service);
var link = url;
var OutputType = wd.OutputType;
var title;
console.log("Screenshot");
driver.get(link);
title = driver.getTitle();
try {
var signInButton = driver.findElement(By.linkText('Sign in'));
} catch (ex) {
var signInButton = undefined;
}
if (signInButton) {
signInButton.click();
try {
var approveButton = driver.findElement(By.name('submit_true'));
approveButton.click();
} catch (ex) {
}
var email = driver.findElement(By.id('Email'));
var password = driver.findElement(By.id('Passwd'));
var signIn = driver.findElement(By.id('signIn'));
if (email && password && signIn) {
email.sendKeys("alistair@10people.co.uk");
password.sendKeys("m3nH?00s321");
signIn.click();
}
}
setTimeout(function () {
var time = new Date().getTime();
var file = driver.getScreenshotAs(OutputType.BASE64);
fs.writeFile(prefix + "-" + time + '.png', file, 'base64');
driver.quit();
}, 10000);
}