Advertisement
darth-vader

Untitled

Jan 14th, 2021
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. const puppeteer = require('puppeteer');
  2. let browser = null;
  3. let pages = [];
  4.  
  5. async function getBrowser() {
  6. if (browser === null) {
  7. browser = await puppeteer.launch({
  8. args: ['--no-sandbox'],
  9. // headless: false
  10. });
  11. }
  12.  
  13. return browser;
  14. }
  15.  
  16. module.exports = async function newPage() {
  17. const chrome = await getBrowser();
  18. const page = await chrome.newPage();
  19. page.setUserAgent(
  20. 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
  21. );
  22.  
  23. pages.push(page);
  24.  
  25. return page;
  26. };
  27.  
  28. const fs = require('fs');
  29. const newPage = require('./browser');
  30.  
  31. function delay(t = 1000) {
  32. return new Promise(r => setTimeout(r, t));
  33. }
  34.  
  35. (async function sendMsg() {
  36. const page = await newPage();
  37. const cookiesString = fs.readFileSync('./zalo.json');
  38. const cookies = JSON.parse(cookiesString);
  39. await page.setCookie(...cookies);
  40. await page.goto('https://chat.zalo.me/');
  41.  
  42. console.log('Go zalo');
  43.  
  44. await delay(2000);
  45. await page
  46. .waitForSelector('.avatar');
  47. await delay(1000);
  48. await page.click('.avatar');
  49.  
  50. await delay(2000);
  51.  
  52. await page.waitForSelector('.msg-item');
  53.  
  54. await page.waitForSelector('#contact-search-input');
  55. await page.click('#contact-search-input');
  56. await page.type('#contact-search-input', 'Dropshipping');
  57.  
  58. await delay(1000);
  59. await page.waitForSelector('#searchResultList');
  60. await page.click('#searchResultList .item');
  61.  
  62. await delay(1000);
  63.  
  64. await page.waitForSelector('#richInput');
  65. await page.click('#richInput > div');
  66.  
  67. await delay(1000);
  68.  
  69. page.type('#richInput > div', 'msg from puppeteer');
  70. await delay(1000);
  71. await page.keyboard.press(String.fromCharCode(13));
  72. console.log('done');
  73.  
  74. await delay(100000);
  75. page.close();
  76. })();
  77.  
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement