page.goto(url)
请求指定url
比较常用的用法是page.goto(url,{'waitUntil':'load'})
waitUntil的参数有:load,domcontentloaded,networkidle0,networkidle2
DOM文档的加载步骤为:
- 解析HTML结构。
- 加载外部脚本和样式表文件。
- 解析并执行脚本代码。
- DOM树构建完成。//domcontentloaded
- 加载图片等外部文件。
- 页面加载完毕。//load
networkidle0表示
when there are no more than 0 network connections for at least 500 ms.
newwordidle2表示
when there are no more than 2 network connections for at least 500 ms
page.waitfor(time)
设置页面等待时间,单位是毫秒,常用语设置操作间隔,让page能加载完成指定目标,如:page.waitfor(3*1000)
表示等待3秒钟。
page.waitForSelector(selector)/page.waitForXPath(xpath)
等待目标元素加载完成,默认timeout是30秒,可以辅助确定指定位置元素是否已经加载完成。
page.waitForNavigation()
等到某动作完成,常用的是配合其他动作一起使用,如:
await asyncio.wait([
page.click('a.my-link'),
page.waitForNavigation(),
])
这段代码表示,等待连接点击并跳转完成。
page.J(css selector)/page.querySelector(css selector)
通过css selector定位元素,前面是缩写函数
page.Jx(xpath)/page.xpath(xpath)
通过xpath定位元素,前面是缩写函数
page.content()
获取页面当前加载网页的document,用法:
doc = await page.content()
page.cookies()
获取页面当前的cookies,常用如:
...登录后...
cookies= await page.cookies()
dosomething(cookies)
page.eveluate(jsstr)
执行js,js代码用字符串书写,注意引号的使用
page.evaluateOnNewDocument(jsstr)
用法同上,不过在页面新打开一个document时才生效,上面的函数是当前document生效。
page.hover(selector)
指针移动到selector定位的元素位置
page.screenshot()
页面截屏
page.setCacheEnabled()
是否启用缓存,默认是True
page.setJavaScriptEnabled()
是否允许加载js,默认是True
page.setRequestInterception()
是否允许请求和返回注入,默认是False
page.setUserAgent()
设置UA
page.setViewport()
用法: await page.setViewport({'width':xx,'height':xx})
page.type(selector,str)
在指定位置中输入字符串