page.goto(url)
請(qǐng)求指定url
比較常用的用法是page.goto(url,{'waitUntil':'load'})
waitUntil的參數(shù)有:load,domcontentloaded,networkidle0,networkidle2
DOM文檔的加載步驟為:
- 解析HTML結(jié)構(gòu)寞冯。
- 加載外部腳本和樣式表文件具被。
- 解析并執(zhí)行腳本代碼雇盖。
- DOM樹構(gòu)建完成。//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)
設(shè)置頁面等待時(shí)間,單位是毫秒,常用語設(shè)置操作間隔借宵,讓page能加載完成指定目標(biāo)橘荠,如:page.waitfor(3*1000)
表示等待3秒鐘屿附。
page.waitForSelector(selector)/page.waitForXPath(xpath)
等待目標(biāo)元素加載完成,默認(rèn)timeout是30秒哥童,可以輔助確定指定位置元素是否已經(jīng)加載完成挺份。
page.waitForNavigation()
等到某動(dòng)作完成,常用的是配合其他動(dòng)作一起使用贮懈,如:
await asyncio.wait([
page.click('a.my-link'),
page.waitForNavigation(),
])
這段代碼表示匀泊,等待連接點(diǎn)擊并跳轉(zhuǎn)完成。
page.J(css selector)/page.querySelector(css selector)
通過css selector定位元素朵你,前面是縮寫函數(shù)
page.Jx(xpath)/page.xpath(xpath)
通過xpath定位元素各聘,前面是縮寫函數(shù)
page.content()
獲取頁面當(dāng)前加載網(wǎng)頁的document,用法:
doc = await page.content()
page.cookies()
獲取頁面當(dāng)前的cookies,常用如:
...登錄后...
cookies= await page.cookies()
dosomething(cookies)
page.eveluate(jsstr)
執(zhí)行js,js代碼用字符串書寫抡医,注意引號(hào)的使用
page.evaluateOnNewDocument(jsstr)
用法同上躲因,不過在頁面新打開一個(gè)document時(shí)才生效早敬,上面的函數(shù)是當(dāng)前document生效。
page.hover(selector)
指針移動(dòng)到selector定位的元素位置
page.screenshot()
頁面截屏
page.setCacheEnabled()
是否啟用緩存大脉,默認(rèn)是True
page.setJavaScriptEnabled()
是否允許加載js,默認(rèn)是True
page.setRequestInterception()
是否允許請(qǐng)求和返回注入搞监,默認(rèn)是False
page.setUserAgent()
設(shè)置UA
page.setViewport()
用法: await page.setViewport({'width':xx,'height':xx})
page.type(selector,str)
在指定位置中輸入字符串