puppeteer的常用操作方法

1、实现递归滑动页面直到底部

await page.evaluate(async () => {
	await new Promise((resolve, reject) => {
		var totalHeight = 0;
		var distance = 100;
		var timer = setInterval(() => {
			var scrollHeight = document.body.scrollHeight;
			window.scrollBy(0, distance);
			totalHeight += distance;
			if (totalHeight >= scrollHeight) {
				clearInterval(timer);
				resolve();
			}
		}, 100);
	});
});

2、遍历获取表格或者列表属性

productList = await page.evaluate(() => {
    var productList = [...document.querySelectorAll("#productList .product-link")]				
	return productList.map(el => {
		return {
			productId: el.getAttribute("data-product-id")
		}
	});
});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 puppeteer 中,你可以使用 `setViewport` 方法来设置浏览器视口的大小。该方法接受一个对象,其中可以设置以下属性: - `width`:视口的宽度,单位为像素。 - `height`:视口的高度,单位为像素。 - `deviceScaleFactor`:设备的 DPI(每英寸像素数)。 - `isMobile`:是否模拟移动设备。 - `hasTouch`:是否模拟触摸屏。 - `isLandscape`:是否模拟横屏。 例如,如果你想设置浏览器视口的宽度为 800 像素,高度为 600 像素,可以这样写: ``` await page.setViewport({ width: 800, height: 600 }); ``` 注意,这里设置的是浏览器视口的大小,而不是整个页面的大小。如果页面的内容超出了视口的范围,用户就可以通过滚动条来查看整个页面。 ### 回答2: puppeteer是一个用于测试和自动化浏览器的Node.js库。通过使用puppeteer,我们可以模拟用户在浏览器中的行为,如点击、输入文本等。其中一个常用的功能是设置浏览器视口大小。 setViewport是puppeteer中的一个方法,用于设置浏览器视口的大小。视口可以视为浏览器中实际可见页面的区域。当我们使用setViewport方法时,可以指定宽度和高度,以像素为单位。 如果我们想要设置最下面的一块页面的大小,可以首先获取整个页面的高度,然后通过setViewport方法设置浏览器视口的高度为所需的值。 具体步骤如下: 1. 使用puppeteer的launch方法创建一个浏览器实例,并打开指定的页面。 2. 使用page.evaluate方法在浏览器页面中执行JavaScript代码,获取页面的高度。例如,可以使用document.documentElement.scrollHeight来获取整个文档的高度。 3. 使用page.setViewport方法设置浏览器视口的高度为获取的页面高度。可以使用page.setViewport({width: 800, height: 页面高度})来设置宽度和高度。 4. 进行后续的操作,如截图、点击、输入文本等。 需要注意的是,setViewport方法只会设置浏览器视口的大小,并不会改变实际页面的布局。如果页面的布局与浏览器视口的大小不一致,可能会导致部分内容被截断或隐藏。 总之,通过使用puppeteer的setViewport方法,我们可以轻松地设置浏览器视口的大小,以满足不同的测试和自动化需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值