Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const puppeteer = require('puppeteer');
- function getDateString(date, separator = '/') {
- var d = ('0' + date.getDate()).slice(-2)
- var m = ('0' + (date.getMonth() + 1)).slice(-2)
- var y = date.getFullYear()
- return m + separator + d + separator + y
- }
- async function search(orr, dest, date)
- {
- const browser = await puppeteer.launch()
- function timeout(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
- const page = await browser.newPage()
- await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36')
- await page.goto('http://united.com/ual/en/us/flight-search/book-a-flight/', {waitUntil: 'networkidle0'})
- page.on('response', async msg => {
- if (msg.request().resourceType() == 'xhr') {
- if (msg.request().url() == 'https://www.united.com/ual/en/us/flight-search/book-a-flight/flightshopping/getflightresults/awd') {
- try {
- const data = await msg.json()
- console.log("ACHEI O JSON AWD!")
- }
- catch (error) {}
- }
- }
- })
- let results = null
- let ready = false
- let lang = await page.$("a.language-region-change.btn.btn-primary");
- if (lang != null) {
- await page.click("a.language-region-change.btn.btn-primary", {delay: 100})
- }
- await page.evaluate(() => {
- const ow = document.querySelector("#TripTypes_ow")
- ow.click()
- document.querySelector("#Trips_0__NonStop").click()
- document.querySelector("#Trips_0__OneStop").click()
- document.querySelector("#Trips_0__TwoPlusStop").click()
- })
- await page.click('#TripTypes_ow')
- await timeout(100)
- await page.evaluate(() => {
- const rm = document.querySelector("#RedeemMiles_rMiles")
- rm.click()
- })
- await timeout(100)
- await page.evaluate(function() {
- document.querySelector('#Trips_0__Origin').value = ''
- document.querySelector('#Trips_0__Destination').value = ''
- document.querySelector('#Trips_0__DepartDate').value = ''
- })
- await timeout(100)
- await page.type('#Trips_0__Origin', orr, {delay: 100})
- await timeout(100)
- await page.type('#Trips_0__Destination', dest, {delay: 100})
- await timeout(100)
- await page.type('#Trips_0__DepartDate', date, {delay: 100})
- await timeout(1000)
- await page.evaluate(() => {
- const btn = document.querySelector("#btn-search")
- btn.click()
- })
- page.screenshot({path: 'example.png', fullPage: true})
- }
- search("PDX", "EWR", "5/15/18");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement