启动浏览器
let options = {
headless:true, //是否无界面浏览器
slowMo:250,//减慢页面操作时的速度,用于查看你触发事件
defaultViewport:{
width: 1200, //设置视窗的宽高
height:800//设置视窗的高高
},
timeout:3000, //默认超时3秒
}
let browser = await .launch(options);
打开新标签页
let page = await browser.newPage()
将页面跳转至
await page.goto('http://www.baidu.com')
获取所有浏览器中的页面
let pages = await browser.pages()
关闭浏览器
browser.close()
获取页面的对象,并进行操作
//选择元素
let btn = await page.$(selector);
//触发元素点击事件
btn.click()
//聚焦到输入框
input.focus()
在页面上写入内容或者键盘按键
await page.keyboard.type('Hello World!');
await page.keyboard.press('ArrowLeft');
await page.keyboard.down('Shift');
设置鼠标的移动
await page.mouse.move(0, 0);
await page.mouse.down();
await page.mouse.move(0, 100);
await page.mouse.move(100, 100);
await page.mouse.move(100, 0);
await page.mouse.move(0, 0);
await page.mouse.up();
截获请求
await page.setRequestInterception(true);
page.on('request', request => {
// request,包含了所有请求信息
// request.url(); 获取请求的网址
if(request.url() == 继续请求的条件){
request.continue(); //继续请求
}else{
request.abort([errorCode]); //拦截请求
}
});
获取浏览器的信息和内容
page.$eval(selector,(item)=>{return item})
page.$$eval(selector,(items)=<{return items})