Guest User

Untitled

a guest
Oct 31st, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.41 KB | None | 0 0
  1. const formId = 'challenge-form';
  2.  
  3. const url = process.argv[2];
  4. //2captcha api key
  5. const key = process.argv[3];
  6. const proxy = process.argv[4];
  7.  
  8. //form data
  9. var fName = process.argv[5];
  10. var lName = process.argv[6];
  11. var name = process.argv[7];
  12. var email = process.argv[8];
  13. var password = process.argv[9]
  14. var address = process.argv[10];
  15. var city = process.argv[11];
  16. var country = process.argv[12];
  17. var countryShort = process.argv[13];
  18. var state = process.argv[14];
  19. var stateShort = process.argv[15];
  20. var zip = process.argv[16];
  21. var phone = process.argv[17];
  22. var size = process.argv[18];
  23. var cardNumber = process.argv[19];
  24. var cardName = process.argv[20];
  25. var cardExpire = process.argv[21];
  26. var cardExpireShort = process.argv[22];
  27. var cardExpireM = process.argv[23];
  28. var cardExpireY = process.argv[24];
  29. var cardCVV = process.argv[25];
  30. var proxyUser = process.argv[26];
  31. var proxyPass = process.argv[27];
  32. var instagram = 'insta';
  33.  
  34. const puppeteer = require('puppeteer');
  35.  
  36. // Requires mkdir-recursive to create directories
  37. const fx = require('mkdir-recursive');
  38.  
  39. // current date
  40. var time = new Date();
  41.  
  42. var formatedTime = "- " + time.getFullYear() + "-" + time.getMonth() + "-" + time.getDate() + "-" + time.getHours() + "-" + time.getMinutes();
  43.  
  44. // folder path
  45. var folderName = 'templates/image';
  46.  
  47. // Creates folder with folderName (folder path + folder name)
  48. fx.mkdir(folderName +'', function(err) {
  49. });
  50.  
  51. (async () => {
  52.  
  53. const browser = await puppeteer.launch({
  54. args: ['--disable-web-security', '--proxy-server=' + proxy],
  55. headless: true,
  56. // devtools: true
  57. });
  58. try {
  59. const page = await browser.newPage();
  60. await page.emulate({
  61. 'viewport': {
  62. 'width': 1200,
  63. 'height': 900,
  64. 'isMobile': false
  65. },
  66. 'userAgent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'
  67. });
  68.  
  69. await page.authenticate({username: proxyUser , password: proxyPass });
  70.  
  71. await page.goto(url, {
  72. waitUntil: [ 'load', 'networkidle2', 'domcontentloaded' ],
  73. timeout: 300000
  74. });
  75.  
  76. // await page.waitForNavigation({ waitUntil: [ 'load', 'domcontentloaded' ], timeout: 300000 });
  77.  
  78. await page.waitFor(1000);
  79.  
  80. var acceptCookies = await page.$('#pa-button-spacer > input');
  81. if (acceptCookies != null) {
  82. await page.click('#pa-button-spacer > input');
  83. }
  84.  
  85. var frames = await page.frames();
  86. var myframe = frames.find(f => f.url().indexOf("dotmailer-surveys.com") > 0);
  87.  
  88. const emailInput = await myframe.$("#emailaddress-1");
  89. await emailInput.type(email);
  90.  
  91. // const fNameInput = await myframe.$("textbox-51");
  92. // await fNameInput.type(fName);
  93.  
  94. // const lNameInput = await myframe.$("textbox-52");
  95. // await lNameInput.type(lName);
  96.  
  97.  
  98.  
  99.  
  100. await page.addScriptTag({url: 'https://code.jquery.com/jquery-3.2.1.min.js'});
  101. // this will fill an iframe form
  102. var formFiller = await page.evaluate((email,fName,lName,instagram,country,style,size) => {
  103. window.scrollBy(0, 2000);
  104. // click 18 years consent
  105. $('iframe').contents().find('#50_1').trigger( "click" );
  106.  
  107. // click email
  108. $('iframe').contents().find('#emailaddress-1').trigger( "click" );
  109.  
  110. var i = 0;
  111. var speed = 50; /* The speed/duration of the effect in milliseconds */
  112.  
  113. function typeWriter() {
  114. if (i < email.length) {
  115. $('iframe').contents().find('#emailaddress-1').val(email.charAt(i));
  116. i++;
  117. setTimeout(typeWriter, speed);
  118. }
  119. }
  120.  
  121. }, email, fName, lName, instagram, country, style=1, ukSize );
  122.  
  123. // for (let i = 0; i < email.length; i++) {
  124. // var rand = Math.floor((Math.random() * 100) + 50);
  125. // await page.keyboard.press(email.charAt(i), {delay: rand});
  126. // }
  127.  
  128. await page.keyboard.press('Tab', {delay: rand});
  129. await page.keyboard.press('Tab', {delay: rand});
  130. await page.keyboard.press('Tab', {delay: rand});
  131.  
  132. for (let i = 0; i < fName.length; i++) {
  133. var rand = Math.floor((Math.random() * 100) + 50);
  134. await page.keyboard.press(fName.charAt(i), {delay: rand});
  135. }
  136. await page.keyboard.press('Tab', {delay: rand});
  137. for (let i = 0; i < lName.length; i++) {
  138. var rand = Math.floor((Math.random() * 100) + 50);
  139. await page.keyboard.press(lName.charAt(i), {delay: rand});
  140. }
  141. await page.keyboard.press('Tab', {delay: rand});
  142. for (let i = 0; i < instagram.length; i++) {
  143. var rand = Math.floor((Math.random() * 100) + 50);
  144. await page.keyboard.press(instagram.charAt(i), {delay: rand});
  145. }
  146. await page.keyboard.press('Tab', {delay: rand});
  147. for (let i = 0; i < instagram.length; i++) {
  148. var rand = Math.floor((Math.random() * 100) + 50);
  149. await page.keyboard.press(instagram.charAt(i), {delay: rand});
  150. }
  151. await page.keyboard.press('Tab', {delay: rand});
  152. for (let i = 0; i < country.length; i++) {
  153. var rand = Math.floor((Math.random() * 100) + 50);
  154. await page.keyboard.press(country.charAt(i), {delay: rand});
  155. }
  156. await page.keyboard.press('Tab', {delay: rand});
  157. await page.keyboard.press('Space', {delay: rand});
  158. await page.keyboard.press('Tab', {delay: rand});
  159.  
  160. await page.evaluate(() => {window.scrollBy(0, 2000);});
  161.  
  162. var size = "US " + parseInt(usSize) + "";
  163. for (let i = 0; i < size.length; i++) {
  164. var rand = Math.floor((Math.random() * 100) + 50);
  165. await page.keyboard.press(size.charAt(i), {delay: rand});
  166. }
  167.  
  168. await page.click
  169.  
  170. await page.keyboard.press('Tab', {delay: rand});
  171.  
  172. await page.keyboard.press('Space', {delay: rand});
  173.  
  174. await page.keyboard.press('Tab', {delay: rand});
  175.  
  176. await page.waitFor(1000);
  177. console.log("Process complete and saved under the name:" + fName + lName + formatedTime + "userInformation");
  178. await page.screenshot({path: folderName + "/" + fName + lName + formatedTime + "userInformation" + '.png', fullPage: true});
  179. //await page.keyboard.press('Enter', {delay: rand});
  180.  
  181. // wait + screenshot
  182. await page.waitForNavigation({ waitUntil: [ 'load', 'domcontentloaded' ], timeout: 300000 });
  183. console.log("Process complete and saved under the name:" + fName + lName + formatedTime + "final");
  184. await page.screenshot({path: folderName + "/" + fName + lName + formatedTime + "final" + '.png', fullPage: true});
  185.  
  186. console.log('SUCCESS');
  187.  
  188. await browser.close();
  189. } catch(e) {
  190. console.log(e)
  191. process.exit();
  192. }
  193. finally {
  194. browser.close();
  195. }
  196. })();
Add Comment
Please, Sign In to add comment