日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyppeteer有java版本吗_Pyppeteer中文文档_序言_安装_基本使用及注意事项

發布時間:2024/9/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyppeteer有java版本吗_Pyppeteer中文文档_序言_安装_基本使用及注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pyppeteer中文文檔_序言_安裝_基本使用及注意事項

Pyppeteer是Puppeteer Javascript(無頭) chrome/chromium 瀏覽器自動化庫的Python非官方端口,Puppeteer是在Node.js中使用的,而Pyppeteer是專用于Python語言的。

本文檔對應的是Pyppeteer的v0.0.25版本,從目前情況來看,Pyppeteer已經很久沒更新了,但對于要求不是非常高的爬蟲和自動化測試使用起來還是沒問題的。

當前文章中會介紹一下安裝、使用等一些注意事項,在后續的文章中會逐一介紹各個API類的功能。

Pyppeteer目前支持Python3.5、3.6、3.7,但不建議在3.5的版本中使用,最佳的使用環境為3.6+。

安裝

在已安裝了Python3.6+的情況下,以windows為例,Win+R -> cmd -> 回車,打開cmd窗口。

輸入:pip install pyppeteer,等待安裝完畢即可。

如果需要最新版(開發版)的pyppeteer,可以通過pip命令從github地址進行安裝。

輸入:pip install -U git+https://github.com/miyakogi/pyppeteer.git@dev,等待安裝完畢即可。

使用

在第一次使用Pyppeteer時,它會自動下載最新版本的Chromium(~170MB Mac, ~282MB Linux, ~280MB Win),如果你不希望它自動下載,那么在運行任何Pyppeteer腳本之前,手動運行pyppeteer-install命令即可下載(似乎這沒什么用,普遍情況下我們都會采用自動下載的方式)。

示例:打開頁面并截屏

import asyncio

from pyppeteer import launch

async def main():

browser = await launch()

page = await browser.newPage()

await page.goto('http://example.com')

await page.screenshot({'path': 'example.png'})

await browser.close()

asyncio.get_event_loop().run_until_complete(main())

示例:在頁面中執行腳本

import asyncio

from pyppeteer import launch

async def main():

browser = await launch()

page = await browser.newPage()

await page.goto('http://example.com')

await page.screenshot({'path': 'example.png'})

dimensions = await page.evaluate('''() => {

return {

width: document.documentElement.clientWidth,

height: document.documentElement.clientHeight,

deviceScaleFactor: window.devicePixelRatio,

}

}''')

print(dimensions)

#>>> {'width': 800, 'height': 600, 'deviceScaleFactor': 1}

await browser.close()

asyncio.get_event_loop().run_until_complete(main())

Pyppeteer擁有幾乎和Puppeteer一樣的API,更多API詳情可以查看后續文章。

Pyppeteer與Puppeteer之間的差異

Pyppeteer和Puppeteer類似,由于Python和Javascript在語法、特性、主要發展領域的一些差異,在使用及運行效率上略有區別,但不影響其結果。

選項的關鍵字參數

Puppeteer使用對象(Python使用字典)組成選項傳遞給方法或函數,Pyppeteer可接受字典類型和關鍵字參數類型作為選項。

字典樣式選項(類似于Puppeteer)

browser = await launch({'headless': True})

關鍵字參數樣式參數

browser = await launch(headless=True)

元素選擇器方法名稱($->querySelector)

在Python中,$不能用于方法名稱,所以使用Page.querySelector()、Page.querySelectorAll()、Page.xpath()代替Page.$()、Page.$$()、Page.$x()。Pyppeteer也有這些方法簡寫Page.J()、Page.JJ()、Page.Jx()。

Page.evaluate()和Page.querySelectorEval()的參數

Puppeteer的evaluate()采用原生的Javacript函數或Javascript表達式字符串,Pyppeteer采用Javascript字符串。Javascript字符串可以是函數或者表達式。Pyppeteer會自動嘗試檢查字符串是函數還是表達式,但有時會失敗。如果表達式字符被視為函數并應發錯誤,可以添加force_expr=True參數,這將強制Pyppeteer把字符串視為表達式。

示例:獲取頁面內容

content = await page.evaluate('document.body.textContent', force_expr=True)

示例:獲取元素的內部文本

element = await page.querySelector('h1')

title = await page.evaluate('(element) => element.textContent', element)

API參考

Commands

Environment Variables

Launcher

Browser Class

BrowserContext Class

Page Class

Worker Class

Keyboard Class

Mouse Class

Tracing Class

Dialog Class

ConsoleMessage Class

Frame Class

ExecutionContext Class

JSHandle Class

ElementHandle Class

Request Class

Response Class

Target Class

CDPSession Class

Coverage Class

Debugging

總結

以上是生活随笔為你收集整理的pyppeteer有java版本吗_Pyppeteer中文文档_序言_安装_基本使用及注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。