具有后续函数的page.evaluate
和page.$
的行为不同。
page.evaluate
是Puppeteer提供的一个方法,它允许在页面的上下文中执行函数。这个方法接受一个函数作为参数,并在浏览器上下文中运行该函数,并且可以返回一个值。它可以用于获取页面上的数据或执行一些复杂的操作。这个方法通常用于在页面中注入自定义的JavaScript代码。
page.$
是Puppeteer提供的另一个方法,它可以在页面上执行一个选择器,找到匹配的第一个元素。它返回一个ElementHandle
对象,该对象可以用于进一步操作该元素。
它们的主要区别在于它们执行的上下文和操作的方式:
page.evaluate
的函数在页面的上下文中执行,它可以访问页面中的所有DOM元素、JavaScript变量和函数。这使得它非常适合执行一些复杂的操作,如操作DOM、获取元素属性、执行JavaScript代码等。page.$
是在Puppeteer控制的浏览器上下文中执行的,它只能访问页面上的DOM元素,不能访问页面中的JavaScript变量和函数。它主要用于查找和操作页面上的元素,如点击、输入文本等。总结起来,page.evaluate
适用于在页面上下文中执行复杂的JavaScript操作,而page.$
适用于查找和操作页面上的元素。
领取专属 10元无门槛券
手把手带您无忧上云