-
download poe.js, package.json and latest version of selenium server into the same folder
-
install require modules
$ npm install
-
copy examples/ and lib/ at current folder
$ cp node_modules/nightwatch/examples . $ cp node_modules/nightwatch/lib .
-
create tests/ folder
$ mkdir tests
-
modify the acc and pwd variable in poe.js, and move it to tests/ folder.
$ mv poe.js tests/
-
launch selenium server (must install firefox)
$ java -jar selenium-server-standalone-{VERSION}.jar
-
run command below
$ nightwatch --test tests/poe
Last active
November 2, 2020 13:50
-
-
Save tpai/2356257ce73dce0701f0 to your computer and use it in GitHub Desktop.
A web crawler sample based on nightwatch.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "nightwatch_webcrawler", | |
"description": "A web crawler sample based on nightwatch.", | |
"version": "0.0.1", | |
"author": { | |
"name": "tonypai", | |
"email": "[email protected]" | |
}, | |
"homepage": "http://github.com/tpai", | |
"dependencies": { | |
"nightwatch": ">=0.5.33", | |
"cheerio": ">=0.18.0" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = { | |
tags: ['poe'], | |
'Get POE Reward Images' : function (client) { | |
var cheerio = require("cheerio") // easy to parse HTML | |
var acc = "<your-account>" | |
var pwd = "<your-password>" | |
client | |
.url('http://web.poe.garena.tw/login') | |
.waitForElementVisible('body', 1000) | |
.assert.title('Garena') | |
.assert.visible('#sso_login_form_account') | |
.setValue('#sso_login_form_account', acc) | |
.setValue('#sso_login_form_password', pwd) | |
.waitForElementVisible('#confirm-btn', 1000) | |
.click('#confirm-btn') | |
.pause(2000) | |
.assert.visible('div.tab-links') | |
.url("http://web.poe.garena.tw/account/view-profile/"+acc+"/events") | |
.source(function(result) { // .source() will dump the target page into text format | |
$ = cheerio.load(result.value) // so it needs to be parse | |
var images = $("div.reward img") | |
for(var i=0;i<images.length;i++) { | |
console.log($(images[i]).attr("src")); | |
} | |
}) | |
.end(); | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment