Advertisement
HelloWar75

Untitled

Apr 13th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. const puppeteer = require('puppeteer');
  2.  
  3. function getDateString(date, separator = '/') {
  4. var d = ('0' + date.getDate()).slice(-2)
  5. var m = ('0' + (date.getMonth() + 1)).slice(-2)
  6. var y = date.getFullYear()
  7. return m + separator + d + separator + y
  8. }
  9.  
  10. async function search(orr, dest, date)
  11. {
  12. const browser = await puppeteer.launch()
  13. function timeout(ms) {
  14. return new Promise(resolve => setTimeout(resolve, ms));
  15. }
  16. const page = await browser.newPage()
  17. 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')
  18.  
  19. await page.goto('http://united.com/ual/en/us/flight-search/book-a-flight/', {waitUntil: 'networkidle0'})
  20.  
  21. let results = null
  22. let ready = false
  23.  
  24. let lang = await page.$("a.language-region-change.btn.btn-primary");
  25.  
  26. if (lang != null) {
  27. await page.click("a.language-region-change.btn.btn-primary", {delay: 100})
  28. }
  29.  
  30. await page.evaluate(() => {
  31. const ow = document.querySelector("#TripTypes_ow")
  32. ow.click()
  33. document.querySelector("#Trips_0__NonStop").click()
  34. document.querySelector("#Trips_0__OneStop").click()
  35. document.querySelector("#Trips_0__TwoPlusStop").click()
  36. })
  37. await page.click('#TripTypes_ow')
  38. await timeout(100)
  39. await page.evaluate(() => {
  40. const rm = document.querySelector("#RedeemMiles_rMiles")
  41. rm.click()
  42. })
  43. await timeout(100)
  44. await page.evaluate(function() {
  45. document.querySelector('#Trips_0__Origin').value = ''
  46. document.querySelector('#Trips_0__Destination').value = ''
  47. document.querySelector('#Trips_0__DepartDate').value = ''
  48. })
  49. await timeout(100)
  50. await page.type('#Trips_0__Origin', orr, {delay: 100})
  51. await timeout(100)
  52. await page.type('#Trips_0__Destination', dest, {delay: 100})
  53. await timeout(100)
  54. await page.type('#Trips_0__DepartDate', date, {delay: 100})
  55. await timeout(1000)
  56. await page.evaluate(() => {
  57. const btn = document.querySelector("#btn-search")
  58. btn.click()
  59. })
  60.  
  61. page.on('response', async msg => {
  62. if (msg.request().resourceType == 'xhr') {
  63. console.log(msg.request().url)
  64. }
  65. })
  66.  
  67. await timeout(10000)
  68.  
  69. page.screenshot({path: 'example.png', fullPage: true})
  70. }
  71.  
  72. search("PDX", "EWR", "5/15/18");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement