Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. const puppeteer = require('puppeteer');
  2. const readline = require('readline');
  3.  
  4. const rl = readline.createInterface({
  5. input: process.stdin,
  6. output: process.stdout
  7. });
  8. let loginpassword="";
  9.  
  10. rl.question('Podaj login i haslo do librusa\n', (answer) => {
  11.  
  12. loginpassword=answer;
  13. rl.close();
  14. });
  15.  
  16.  
  17. setInterval(function(){
  18.  
  19.  
  20. (async () => {
  21. const browser = await puppeteer.launch({headless: true});
  22. const page = await browser.newPage();
  23. const url='https://adfslight.oswiatawradomiu.pl/LoginPage.aspx?ReturnUrl=%2f%3fwa%3dwsignin1.0%26wtrealm%3dhttps%253A%252F%252Fsynergia.librus.pl%252Floguj%252Fradom';
  24. await page.goto(url);
  25.  
  26. await page.type('#Username', loginpassword.substr(0,9));
  27. await page.type('#Password', loginpassword.substr(10));
  28. await page.click('.submit-button');
  29.  
  30. await page.waitForNavigation();
  31. await page.waitForNavigation();
  32.  
  33.  
  34. await page.goto('https://synergia.librus.pl/wiadomosci');
  35. //await page.screenshot({path: 'example.png'});
  36. e = await page.evaluate(() => {
  37. const messages = [];
  38. const unreadQuery = '.container-background > table > tbody > tr > td:nth-child(2n) > table:nth-child(2n) > tbody'+'> tr > td[style="font-weight: bold;"] ';
  39.  
  40. // const clickList = document.querySelectorAll(unreadQuery + '> a');
  41. const messList = document.querySelectorAll(unreadQuery);
  42.  
  43. messList.forEach((el, i) => {
  44. if(i%3==0) messages.push( {
  45. author: el.innerText,
  46. title: "",
  47. date: ""
  48. } );
  49. else if(i%3==1) messages[messages.length-1].title = el.innerText;
  50. else messages[messages.length-1].date = el.innerText;
  51. });
  52.  
  53.  
  54. return{
  55. messages
  56. }
  57. })
  58. for(let i=0;i<e.messages.length;i++){
  59. await page.click('.container-background > table > tbody > tr > td:nth-child(2n) > table:nth-child(2n) > tbody'+'> tr > td[style="font-weight: bold;"] '+' > a');
  60. //await page.screenshot({path: `test${i}.jpg`, fullPage: true})
  61. await page.goBack();
  62. }
  63.  
  64.  
  65. await browser.close();
  66. const date = new Date();
  67. const Time ={
  68. dzien: date.getDate(),
  69. miesiac: date.getMonth()+1,
  70. godzina: date.getHours(),
  71. minuta: date.getMinutes(),
  72.  
  73. }
  74. if(Time.dzien<10) Time.dzien='0'+Time.dzien;
  75. if(Time.miesiac<10) Time.miesiac='0'+Time.miesiac;
  76. if(Time.godzina<10) Time.godzina='0'+Time.godzina;
  77. if(Time.minuta<10) Time.minuta='0'+Time.minuta;
  78. console.log(`Jest ${Time.dzien}/${Time.miesiac}, godzina ${Time.godzina}:${Time.minuta}`);
  79. if(e.messages.length==0) console.log(`Program nie odczytał żadnych wiadomości`);
  80. else if(e.messages.length==1) console.log(`Program odczytał 1 następującą wiadomości:`);
  81. else if(e.messages.length<=4) console.log(`Program odczytał ${e.messages.length} następujące wiadomości:`);
  82. else console.log(`Program odczytał ${e.messages.length} następujących wiadomości:`);
  83. e.messages.forEach(el=>{
  84. console.log(`${el.author}||${el.title}||${el.date}`)
  85. });
  86. console.log('--------------------------------------------');
  87.  
  88. })();
  89. },(1000*60*10));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement