pyppeteer(四)--常用函數(shù)

page.goto(url)

請求指定url
比較常用的用法是page.goto(url,{'waitUntil':'load'})
waitUntil的參數(shù)有:load,domcontentloaded,networkidle0,networkidle2
DOM文檔的加載步驟為:

  1. 解析HTML結(jié)構(gòu)。
  2. 加載外部腳本和樣式表文件。
  3. 解析并執(zhí)行腳本代碼。
  4. DOM樹構(gòu)建完成。//domcontentloaded
  5. 加載圖片等外部文件。
  6. 頁面加載完畢。//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è)置操作間隔,讓page能加載完成指定目標(biāo),如:page.waitfor(3*1000)表示等待3秒鐘。

page.waitForSelector(selector)/page.waitForXPath(xpath)

等待目標(biāo)元素加載完成,默認(rèn)timeout是30秒,可以輔助確定指定位置元素是否已經(jīng)加載完成。

page.waitForNavigation()

等到某動作完成,常用的是配合其他動作一起使用,如:

await asyncio.wait([
    page.click('a.my-link'),
    page.waitForNavigation(),
])

這段代碼表示,等待連接點擊并跳轉(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代碼用字符串書寫,注意引號的使用

page.evaluateOnNewDocument(jsstr)

用法同上,不過在頁面新打開一個document時才生效,上面的函數(shù)是當(dāng)前document生效。

page.hover(selector)

指針移動到selector定位的元素位置

page.screenshot()

頁面截屏

page.setCacheEnabled()

是否啟用緩存,默認(rèn)是True

page.setJavaScriptEnabled()

是否允許加載js,默認(rèn)是True

page.setRequestInterception()

是否允許請求和返回注入,默認(rèn)是False

page.setUserAgent()

設(shè)置UA

page.setViewport()

用法: await page.setViewport({'width':xx,'height':xx})

page.type(selector,str)

在指定位置中輸入字符串

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容