Skip to content

Instantly share code, notes, and snippets.

@Heavyblade
Created August 30, 2019 15:55
Show Gist options
  • Save Heavyblade/0bbc25cef82a8aec8557cb3c53a85b45 to your computer and use it in GitHub Desktop.
Save Heavyblade/0bbc25cef82a8aec8557cb3c53a85b45 to your computer and use it in GitHub Desktop.
utilit.js
WAIT_TIMEOUT = 60000;
var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
exitOnError: true,
timeout: 60000,
wait_timeout: WAIT_TIMEOUT,
viewportSize: {
width: 1920,
height: 1080
},
pageSettings: {
loadImages: true,
loadPlugins: true,
userAgent: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5'
},
colorizerType: 'Dummy'
});
var username = casper.cli.raw.get('username'),
password = casper.cli.raw.get('password'),
start_at = casper.cli.raw.get('start_at'),
end_at = casper.cli.raw.get('end_at'),
base_url = casper.cli.raw.get('base_url'),
report = casper.cli.raw.get('report_path');
casper.start(base_url);
casper.waitForSelector("._login_form", function getToForm(){
this.fillSelectors("._login_form", {
"input._username": username,
'input[placeholder="Password"]': password
}, false);
}, function formNeverAppeared() {
casper.log('login form never appeared', 'error').exit(1);
}, WAIT_TIMEOUT);
casper.then(function(){
this.click(".submit-bttn");
});
casper.waitForSelector("._data-table.posts-cntnr", function clickOnDatesIcon() {
this.click(".time-bttn span.text");
}, function() {
casper.log("Can't get logged in as: " + username, 'error').exit(1);
}, WAIT_TIMEOUT);
casper.waitForSelector('._calendar-start', function fillTimeAndSubmit() {
this.sendKeys('._calendar-start', start_at, { reset: true} );
this.sendKeys('._calendar-end', end_at, { reset: true} );
this.click(".action-bttn.lockerdome-blue");
}, function() {
casper.log("cant get the calendar box", "error").exit(1);
}, WAIT_TIMEOUT);
casper.waitForSelector(".title-col", function selectBrakedownByday(){
this.clickLabel("Breakdowns");
this.clickLabel("Dates");
}, function() {
casper.log("can't get the brake down box", 'error').exit(1);
}, WAIT_TIMEOUT);
casper.waitForSelector(".icon-arrow-downright.breakdown-arrow", function WaitDatatoLoad(){
}, function() {
casper.log("Data is not loading", 'error').exit(1);
}, WAIT_TIMEOUT);
casper.then(function WriteReportContent() {
var currenHTMl = this.getHTML("#full-table", true);
var fs = require('fs');
fs.write(report, currenHTMl, 'w');
});
casper.run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment