imgs-data.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const cheerio = require('cheerio');
  2. var entities = require('html-entities').XmlEntities;
  3. const webdriver = require('selenium-webdriver');
  4. function imgsData(driver) {
  5. return new Promise(async (resolve, reject) => {
  6. let imgList = await driver.findElements(webdriver.By.js(() => document.querySelectorAll('#J_UlThumb li')))
  7. let imgs = [];
  8. let imgIndex = 0;
  9. async function eachImg(imgIndex) {
  10. const img = imgList[imgIndex];
  11. // 创建鼠标
  12. const actions = driver.actions({ async: true });
  13. await actions.move({ origin: img }).perform();
  14. await driver.sleep(1000);
  15. let obj = {};
  16. const thumbnailEle = await img.findElement(webdriver.By.tagName('img'));
  17. obj.thumbnail = await thumbnailEle.getAttribute('src');
  18. const imgEle = await driver.findElement(webdriver.By.js(() => document.querySelector('#J_ImgBooth')))
  19. obj.img = await imgEle.getAttribute('src');
  20. imgs.push(obj);
  21. imgIndex++;
  22. if (imgIndex === imgList.length) {
  23. resolve(imgs);
  24. } else {
  25. eachImg(imgIndex);
  26. }
  27. }
  28. eachImg(imgIndex);
  29. });
  30. }
  31. exports.imgsData = imgsData;