const puppeteer = require("puppeteer");
const path = require('path');
const pathToExtension = path.join(__dirname, './chrome-mac/Chromium.app/Contents/MacOS/Chromium');
const conf = {
headless: false,
executablePath: pathToExtension,
defaultViewport: {
width: 1300,
height: 900
},
}; (async () => { const browser = await puppeteer.launch(conf)
const page = await browser.newPage() await page.goto('https://www.baidu.com/', {waitUntil: 'networkidle2'});
//addScriptTag需要加在goto的后面,然后就可以在evaluate里使用jQuery的语法了。
await page.addScriptTag({
url: 'https://code.jquery.com/jquery-3.2.1.min.js',
});
await page.waitFor('#u1')
// 可以接收evaluate内部打印的console内容
page.on('console',msg=>{
for(let i =0;i<msg.args().length;i++){
console.log(`${i}: ${msg.args([i])}`)
}
})
const result = await page.evaluate(() => {
let data = []; // 初始化空数组来存储数据
let elements = $("#u1"); // 获取所有元素
for (let element of elements){
let title = element.innerText; // 获取标题
let url = element.href;//获取网址
data.push({title,url}); // 存入数组
}
return data;
});
console.log(result);
await page.waitFor(3000);
await browser.close(); })();

最新文章

  1. 使用自定义签名的https的ssl安全问题解决和metro的webservice调用
  2. vuejs,router
  3. CSS颜色模式转换器的实现
  4. xp系统打开软件程序总是弹出警告窗口,很烦人对不,怎么办呢?进来看
  5. MapReduce数据流(一)
  6. css 样式大全
  7. hdu 1325 Is It A Tree?
  8. HDU 4611Balls Rearrangement(思维)
  9. HTTP错误500.22 检测到在集成的托管管道模式下不适用的ASP.NET设置
  10. jQuery选择器课堂随笔
  11. 通过Javascript调用微软认知服务情感检测接口的两种实现方式
  12. QT creator 其他资源(image)的添加以及简单利用
  13. IntelliJ IDEA设置统一编码utf-8
  14. ComboBox下拉列表框
  15. Java设计模式学习记录-观察者模式
  16. AJAX方法讲解
  17. 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表&#39;Address&#39;中的标识列指
  18. Linux 普通用户启动nginx
  19. CAN总线优势
  20. Java 跨域 CrossOrigin注解 Filter拦截 Nginx配置

热门文章

  1. vue中用解构赋值的方法引入组件
  2. 2 vue学习
  3. OpenCV实现图象翻转、滤波、锐化
  4. Templates/Code Combinations
  5. sql sever 查询用户所有的表和各个表数据量
  6. 一个基于Scrapy框架的pixiv爬虫
  7. Linux行编辑器——ed
  8. ORACLE归档日志满了之后,如何删除归档日志
  9. doesn&#39;t declare an explicit app_label and isn&#39;t in an application in INSTALLED_APPS.
  10. 动态规划1——最长递增子序列、最长公共子序列、最长公共子串(python实现)