Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.98 KB | None | 0 0
  1. const puppeteer = require('puppeteer');
  2.  
  3. const login = process.argv[2];
  4. const pwd = process.argv[3];
  5. if (!login || !pwd) {
  6. throw "Please provide correct login infos";
  7. }
  8.  
  9. (async () => {
  10. const browser = await puppeteer.launch({headless: false});
  11. const page = await browser.newPage();
  12. await page.goto('https://www.wannonce.com/membres/login.htm', {waitUntil: 'networkidle2'});
  13. await page.mouse.click(132, 103, { button: 'left' });
  14. //await and login
  15. await page.waitFor('input[name=login]');
  16. await page.waitFor('input[name=pwd]');
  17.  
  18. await page.type('input[name=login]', login);
  19. await page.type('input[name=pwd]', pwd);
  20. //click on submit
  21. await page.click('input[name=identif]');
  22. await page.mouse.click(132, 103, { button: 'left' });
  23. //go to publishing page
  24. await page.goto('https://www.wannonce.com/membres/publier.htm', { waitUntil: 'load', timeout: 0})
  25. //proceed to next page
  26. await page.click('button#etape_suivante');
  27. //SELECT the region
  28. await page.waitForSelector('select[name="region"]');
  29. const region = await page.$('select[name="region"]');
  30. await region.type('Rabat-Salé-Zemmour-Zaër');
  31. //postal code
  32. await page.$eval('input[name=cp]', el => el.value = '20190');
  33. //ville
  34. await page.$eval('input[name=ville]', el => el.value = 'Casablanca');
  35. //choose the category
  36. const category = await page.$('select[name="categ"]');
  37. await category.type('Massage');
  38. //set price
  39. await page.$eval('input[name=prix]', el => el.value = '190');
  40. //choose option
  41. const option = await page.$('select[name="prix_autre"]');
  42. await option.type('Me contacter');
  43. //waiting
  44. await page.waitForSelector('textarea[name=annonce]');
  45.  
  46. //TITLE
  47. await page.$eval('input[name=titre]', el => el.value = 'Massage a domicile avec zenab');
  48. //DESCRIPTION
  49. await page.$eval('textarea[name=annonce]', el => el.value = 'je suis sarah masseuse a Casablanca boulevard Zarktouni Messieurs accordez-vous une petite escale pour un moment de pure détente…Donnez-vous le temps de prendre soin de vous dans une ambiance luxueuse et raffinée, pour un instant de bonheur.');
  50. //TEL
  51. await page.$eval('input[id=phone]', el => el.value = '0614331892');
  52. //NEXT PAGE AND CLICK
  53. await page.waitForSelector('button#etape_suivante');
  54. await page.click('button#etape_suivante');
  55. await page.mouse.click(132, 103, { button: 'left' });
  56. //SELECT OPTIONS
  57. //1-sexe
  58. await page.waitForSelector('select[name="sexe"]');
  59. const sexe = await page.$('select[name="sexe"]');
  60. await sexe.type('une femme');
  61. //2-accept
  62. await page.waitForSelector('select[name="accept"]');
  63. const accept = await page.$('select[name="accept"]');
  64. await accept.type('hommes seulement');
  65. //3-deplacement
  66. await page.waitForSelector('select[name="deplacement"]');
  67. const deplacement = await page.$('select[name="deplacement"]');
  68. await deplacement.type('Reçois seulement');
  69. //NEXT STAPE
  70. await page.waitForSelector('button#etape_suivante');
  71. await page.click('button#etape_suivante');
  72. //IMAGE UPLOAD
  73. await page.waitForSelector('input[name=fichier_up]');
  74.  
  75. const [filechooser] = await Promise.all([
  76. page.waitForFileChooser(),
  77. page.click('input[name=fichier_up]')
  78. ])
  79.  
  80. await filechooser.accept(['/Users/apple/Desktop/many.jpg']);
  81. await page.waitForSelector('.msg-content', {timeout: 0});
  82.  
  83. //NEXT PAGE
  84. await page.waitForSelector('button#etape_suivante');
  85. await page.click('button#etape_suivante');
  86.  
  87. //Final PAGE
  88. await page.waitForSelector('button#etape_suivante');
  89. await page.click('button#etape_suivante');
  90.  
  91. //retrieve link
  92. await page.waitForSelector('.bloc_identif', {timeout: 0});
  93. const link = await page.$('.bloc_identif > a');
  94. const lien = await page.evaluate(el => el.getAttribute("href"), link);
  95. //go to link and take screenshot
  96. const published = "https://www.wannonce.com" + lien;
  97. await page.goto(published, { waitUntil: 'load'});
  98. await page.screenshot({path: 'published.png'});
  99.  
  100. await browser.close();
  101. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement