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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mfc 添加 excel类给定关键字不在字典中_pyppeteer最为核心类Page的接口方法

發(fā)布時(shí)間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mfc 添加 excel类给定关键字不在字典中_pyppeteer最为核心类Page的接口方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Page類是pyppeteer的核心,其價(jià)值就猶如selenium的driver,具體的頁面操作都在Page類上;Page與driver比較最具優(yōu)勢(shì)的是和js的交互,可以修改本地js、css,也可以給頁面添加js函數(shù),甚至添加自定義函數(shù)到瀏覽器的windows屬性中,也有js攔截相關(guān)的設(shè)置,更有終端模擬設(shè)置,這些功能是比driver更為強(qiáng)大的功能,但是也有一些劣勢(shì)如頁面超時(shí)方面比driver弱、選擇器不簡潔等問題。

頁面類:Page 基類:pyee.EventEmitter

此類提供了與單個(gè)chrome選項(xiàng)卡進(jìn)行交互的方法。一個(gè) Browser對(duì)象可能有多個(gè)Page對(duì)象。

  • 選擇器

Page類選擇器相關(guān)方法有5個(gè),并且這五個(gè)都有別名,分別是:

J()別名querySelector()

JJ()別名querySelectorAll()

JJeval()別名querySelectorAllEval()

Jeval()別名querySelectorEval()

Jx()別名xpath()

協(xié)程函數(shù) querySelector(selector:str)

獲取匹配的元素的selector

參數(shù):搜索元素的選擇器字符串。

返回[ElementHandle]或者None。

協(xié)程函數(shù) querySelectorAll(selector:str)

獲取匹配的所有元素selector作為列表。

參數(shù):搜索元素的選擇器

返回列表或返回空列表。

協(xié)程函數(shù) querySelectorAllEval(selector:str,pageFunction:str,*args)

對(duì)所有匹配元素執(zhí)行js

參數(shù):

selector(str)-選擇器。

pageFunction(str)-要在瀏覽器上運(yùn)行的JavaScript函數(shù)的字符串,此函數(shù)將匹配元素的數(shù)組作為第一個(gè)參數(shù)。

args(Any)-傳遞給pageFunction的其他參數(shù)。

協(xié)程函數(shù) querySelectorEval(selector:str,pageFunction:str,*args)

對(duì)匹配的元素執(zhí)行js函數(shù)

參數(shù):

selector(str)-定位的選擇器字符串。

pageFunction(str)-要在瀏覽器上計(jì)算的JavaScript函數(shù)的字符串,此函數(shù)采用與選擇器匹配的元素作為第一個(gè)參數(shù)。

args(Any)-傳遞給pageFunction的參數(shù)。

如果沒有元素匹配,則此方法會(huì)引發(fā)錯(cuò)誤selector

協(xié)程函數(shù) addScriptTag(options: Dict[KT, VT] = None,**kwargs)

將腳本標(biāo)記添加到此頁面

其中需要一個(gè)必須參數(shù)url,path或content

url (字符串):要添加的腳本的URL。

path (字符串):要添加的本地JavaScript文件的路徑。

content (字符串):要添加的JavaScript字符串。

type(字符串):腳本類型,使用module以加載一個(gè)JavaScript ES6模塊。

返回ElementHandle對(duì)象

協(xié)程函數(shù) addStyleTag(options: Dict[KT, VT] = None, **kwargs)

將樣式或鏈接標(biāo)記添加到此頁面

需要一個(gè)必須參數(shù)url,path或content

url (字符串):要添加的鏈接標(biāo)記的URL。

path (字符串):要添加的本地CSS文件的路徑。

content (字符串):要添加的CSS字符串。

返回添加標(biāo)簽后的ElementHandle

協(xié)程函數(shù) authenticate(credentials: Dict[str, str])

提供http身份驗(yàn)證的憑據(jù)

credentials為None或dict含有有username和 password的字段字典

協(xié)程函數(shù) bringToFront()

將頁面置于前面(激活選項(xiàng)卡)

browser

獲取該頁面所屬的瀏覽器對(duì)象

協(xié)程函數(shù) click(selector: str, options: dict = None, **kwargs)

單擊匹配selector的元素

將先獲取selector元素,在視圖底部,將滾動(dòng)到視圖中,然后使用mouse單擊元素的中心,如果沒有匹配selector,則該方法會(huì)引發(fā) PageError

可用選項(xiàng)包括:

button(STR):,left,right或middle,默認(rèn)為 left。

clickCount (int):默認(rèn)為1。

delay(int | float):等待時(shí)間mousedown和 mouseup以毫秒為單位默認(rèn)為0。

注意

如果此方法觸發(fā)元素并且存在其他的的點(diǎn)擊事件,則容易產(chǎn)生混亂的判斷,單擊并等待的正確模式如下:

await asyncio.gather(page.waitForNavigation(waitOptions),page.click(selector, clickOptions), )

協(xié)程函數(shù) close(options: Dict[KT, VT] = None, **kwargs)

作用是關(guān)閉此頁面。

可用選項(xiàng):

runBeforeUnload(bool):默認(rèn)為False,是否運(yùn)行頁面的處理函數(shù)

注意

如果runBeforeUnload傳遞為True,則beforeunload 可以執(zhí)行彈出對(duì)話框,可以通過頁面的dialog事件手動(dòng)處理 。

協(xié)程函數(shù) content()

獲取頁面的完整HTML源碼

協(xié)程函數(shù) cookies(* urls )

獲取cookie,如果未指定URL,則此方法返回當(dāng)前頁面URL的cookie,如果指定了URL,則僅返回這些URL的cookie。

返回的cookie是包含以下字段的字典列表:

name (STR)

value (STR)

url (STR)

domain (STR)

path (STR)

expires (數(shù)字):Unix時(shí)間,以秒為單位

httpOnly (布爾)

secure (布爾)

session (布爾)

sameSite(str):'Strict'或'Lax'

coverage

返回Coverage

協(xié)程函數(shù) deleteCookie(* cookies )

刪除cookie,cookies 應(yīng)該是包含這些字段的字典:

name(str):必填

url (STR)

domain (STR)

path (STR)

secure (布爾)

協(xié)程函數(shù) emulate(options: dict = None, **kwargs)

模擬給定的設(shè)備信息和用戶代理,此方法是調(diào)用兩個(gè)方法的快捷方式:

setUserAgent()

setViewport()

options 是包含以下字段的字典:

viewport(dict)含下列字段

width (int):頁面寬度(以像素為單位)。

height (int):頁面寬度(以像素為單位)。

deviceScaleFactor(float):指定設(shè)備比例(可以認(rèn)為是dpr),默認(rèn)為1。

isMobile(bool):是否考慮標(biāo)簽。默認(rèn)為。meta viewportFalse

hasTouch(bool):指定viewport是否支持觸摸事件。默認(rèn)為False。

isLandscape(bool):指定視口是否處于橫向模式。默認(rèn)為False。

userAgent (str):用戶代理字符串

協(xié)程函數(shù) emulateMedia(mediaType: str = None)

模擬頁面的css媒體類型。

參數(shù):

mediaType(str) - 更改頁面的CSS媒體類型,允許值'screen','print'和 None,傳入None禁用模擬媒體

協(xié)程函數(shù) evaluate(pageFunction:str,* args,force_expr:bool = False )

在瀏覽器上執(zhí)行js-function或js-expression并獲取結(jié)果。

參數(shù):

pageFunction(str) - 要在瀏覽器上執(zhí)行的js-function / expression的字符串

force_expr(bool) - 如果為True,則計(jì)算pageFunction為表達(dá)式。如果為False(默認(rèn)值),請(qǐng)嘗試自動(dòng)檢測函數(shù)或表達(dá)式。

注意:force_exproption是僅關(guān)鍵字參數(shù)。

協(xié)程函數(shù) evaluateHandle(pageFunction:str,* args )

執(zhí)行此頁面上的功能

evaluateHandle()和evaluate()之間的區(qū)別是 evaluateHandle返回JSHandle對(duì)象(不是值)。

參數(shù):

pageFunction(str) - 要執(zhí)行的JavaScript函數(shù)。

協(xié)程函數(shù) evaluateOnNewDocument(pageFunction:str,* args )

在文檔中添加JavaScript函數(shù)。

將在以下情況發(fā)生時(shí)調(diào)用此函數(shù):

每當(dāng)頁面被導(dǎo)航時(shí)

每當(dāng)子框架被附加或?qū)Ш綍r(shí)。在這種情況下,在新附加的幀的上下文中調(diào)用該函數(shù)。

協(xié)程函數(shù) exposeFunction(name:str,pyppeteerFunction:Callable [[...],Any] )

將python函數(shù)添加到瀏覽器的window對(duì)象中,可以從chrome進(jìn)程調(diào)用已注冊(cè)的函數(shù)。

參數(shù):

name(string) - 窗口對(duì)象上函數(shù)的名稱。

pyppeteerFunction(Callable) - 將在python進(jìn)程上調(diào)用的函數(shù)。此函數(shù)不應(yīng)該是異步函數(shù)。

協(xié)程函數(shù) focus(selector:str )

聚焦匹配的元素,如果沒有元素匹配selector,拋出PageError

frames

獲取此頁面的所有frame

協(xié)程函數(shù) goBack(options: dict = None, **kwargs)

導(dǎo)航到歷史記錄中的上一頁,如果不能回去,返回None。

協(xié)程函數(shù) goForward(options: dict = None, **kwargs)

導(dǎo)航到歷史記錄中的下一頁,可用選項(xiàng)與goto()方法相同,如果不能前進(jìn),返回None。

協(xié)程函數(shù) goto(url:str,options:dict = None,** kwargs )

打開url地址

參數(shù):

url(str) - 將頁面導(dǎo)航到的URL,網(wǎng)址應(yīng)包括類型https://。

可用選項(xiàng)包括:

timeout(int):最大導(dǎo)航時(shí)間(以毫秒為單位),默認(rèn)為30秒,傳遞0給禁用超時(shí)??梢允褂迷搒etDefaultNavigationTimeout()方法更改默認(rèn)值。

waitUntil(str | List [str]):何時(shí)考慮導(dǎo)航成功,默認(rèn)為load。給定事件字符串列表,在所有事件被觸發(fā)后,導(dǎo)航被認(rèn)為是成功的?;顒?dòng)可以是:

load:當(dāng)load事件被觸發(fā)時(shí)。

domcontentloaded:當(dāng)DOMContentLoaded事件被觸發(fā)時(shí)。

networkidle0:當(dāng)網(wǎng)絡(luò)連接數(shù)不超過0時(shí),至少500毫秒。

networkidle2:當(dāng)網(wǎng)絡(luò)連接不超過2個(gè),至少500毫秒。

該P(yáng)age.goto會(huì)引發(fā)錯(cuò)誤:

存在SSL錯(cuò)誤(例如,在自簽名證書的情況下)

目標(biāo)網(wǎng)址無效

在timeout導(dǎo)航期間超過

然后主資源無法加載

注意

goto()要么引發(fā)錯(cuò)誤,要么返回主要資源響應(yīng)。唯一的例外是導(dǎo)航到about:blank或?qū)Ш降骄哂胁煌⒘械南嗤琔RL,這將成功并返回None。

無頭模式不支持導(dǎo)航到PDF文檔。

協(xié)程函數(shù) hover(selector:str )

鼠標(biāo)懸停在匹配元素上,如果沒有元素則拋出PageError。

協(xié)程函數(shù) injectFile(filePath:str )

[已棄用]將文件注入此頁面,不推薦使用此方法,請(qǐng)addScriptTag()改用。

isClosed()

判斷頁面是否關(guān)閉

keyboard

獲取Keyboard對(duì)象

mainFrame

獲取此頁面Frame的主要內(nèi)容

協(xié)程函數(shù) metrics()

獲取頁面屬性,返回包含指標(biāo)作為鍵/值對(duì)的字典:

Timestamp (number):獲取度量標(biāo)準(zhǔn)樣本的時(shí)間戳。

Documents (int):頁面中的文檔數(shù)。

Frames (int):頁面中的幀數(shù)。

JSEventListeners (int):頁面中的事件數(shù)。

Nodes (int):頁面中DOM節(jié)點(diǎn)的數(shù)量。

LayoutCount (int):完整部分頁面布局的總數(shù)。

RecalcStyleCount (int):頁面樣式重新計(jì)算的總數(shù)。

LayoutDuration (int):頁面持續(xù)時(shí)間的組合持續(xù)時(shí)間。

RecalcStyleDuration (int):所有頁面樣式重新計(jì)算的組合持續(xù)時(shí)間。

ScriptDuration (int):JavaScript執(zhí)行的組合持續(xù)時(shí)間。

TaskDuration (int):瀏覽器執(zhí)行的所有任務(wù)的組合持續(xù)時(shí)間。

JSHeapUsedSize (float):使用的JavaScript堆大小。

JSHeapTotalSize (float):JavaScript堆總大小。

mouse

獲取Mouse對(duì)象

協(xié)程函數(shù) pdf(options: dict = None, **kwargs)

生成頁面的pdf

選項(xiàng):

path (str):保存PDF的文件路徑。

scale(float):網(wǎng)頁渲染的比例,默認(rèn)為1。

displayHeaderFooter(bool):顯示頁眉和頁腳。默認(rèn)為False。

headerTemplate(str):打印標(biāo)題的HTML模板。應(yīng)該是有效的HTML標(biāo)記與以下類。

date:格式化的打印日期

title:文件名

url:文件位置

pageNumber:當(dāng)前頁碼

totalPages:文檔中的總頁數(shù)

footerTemplate(str):打印頁腳的HTML模板。應(yīng)該使用相同的模板headerTemplate。

printBackground(bool):打印背景圖形。默認(rèn)為 False。

landscape(bool):紙張方向。默認(rèn)為False。

pageRanges(字符串):要打印的紙張范圍,例如“1-5,8,11-13”。默認(rèn)為空字符串,表示所有頁面。

format(str):紙張格式。如果設(shè)置,優(yōu)先于 width或height。默認(rèn)為Letter。

width (str):紙張寬度,接受標(biāo)有單位的值。

height (str):紙張高度,接受標(biāo)有單位的值。

margin(字典):紙張邊距,默認(rèn)為None。

top (str):上邊距,接受標(biāo)有單位的值。

right (str):右邊距,接受標(biāo)有單位的值。

bottom (str):底部邊距,接受標(biāo)有單位的值。

left (str):左邊距,接受標(biāo)有單位的值。

返回: 返回生成的PDF bytes對(duì)象。

注意

目前僅在無頭模式下支持生成pdf。

pdf()使用printcss media 生成頁面的pdf,要生成帶screen媒體的pdf ,請(qǐng)?jiān)O(shè)置page.emulateMedia('screen')。

默認(rèn)情況下,pdf()生成帶有修改顏色的pdf以進(jìn)行打印。使用該--webkit-print-color-adjust屬性強(qiáng)制渲染精確顏色。

await page.emulateMedia('screen')await page.pdf({'path': 'page.pdf'})的width,height和margin選項(xiàng)接受標(biāo)記單位值,未標(biāo)記的值被視為像素。

幾個(gè)例子:

page.pdf({'width': 100}):打印寬度設(shè)置為100像素。

page.pdf({'width': '100px'}):打印寬度設(shè)置為100像素。

page.pdf({'width': '10cm'}):打印寬度設(shè)置為100厘米。

所有可用的單位是:

px:像素

in:英寸

cm:厘米

mm:毫米

格式選項(xiàng)包括:

Letter:8.5英寸x 11英寸

Legal:8.5英寸x 14英寸

Tabloid:11英寸x 17英寸

Ledger:17英寸x 11英寸

A0:33.1英寸x 46.8英寸

A1:23.4英寸x 33.1英寸

A2:16.5英寸x 23.4英寸

A3:11.7英寸x 16.5英寸

A4:8.27英寸x 11.7英寸

A5:5.83英寸x 8.27英寸

A6:4.13英寸x 5.83英寸

注意

headerTemplate和footerTemplate標(biāo)記有以下限制:

不在模板內(nèi)的腳本標(biāo)記。

頁面樣式在模板中不可見。

協(xié)程函數(shù) plainText()

[已棄用]以純文本格式獲取頁面內(nèi)容。

協(xié)程函數(shù)queryObjects(prototypeHandle:pyppeteer.execution_context.JSHandle )

迭代js堆并查找具有句柄的所有對(duì)象。

參數(shù):

prototypeHandle(JSHandle) - 原型對(duì)象的JSHandle。

協(xié)程函數(shù) reload()

刷新本頁

協(xié)程函數(shù) screenshot(options: dict = None, **kwargs)

屏幕截屏

可以使用以下選項(xiàng):

path(str):保存圖像的文件路徑。屏幕截圖類型將從文件擴(kuò)展名中推斷出來。

type(str):指定屏幕截圖類型,可以是jpeg或 png。默認(rèn)為png。

quality(int):圖像的質(zhì)量,在0-100之間。不適用于png圖像。

fullPage(bool):如果為true,請(qǐng)截取完整的可滾動(dòng)頁面。默認(rèn)為False。

clip(字典):指定頁面剪切區(qū)域的對(duì)象。此選項(xiàng)應(yīng)包含以下字段:

x (int):剪輯區(qū)域左上角的x坐標(biāo)。

y (int):剪輯區(qū)域左上角的y坐標(biāo)。

width (int):剪切區(qū)域的寬度。

height (int):剪切區(qū)域的高度。

omitBackground (bool):隱藏默認(rèn)的白色背景并允許捕獲具有透明度的屏幕截圖。

encoding(str):圖像的編碼可以是 'base64'或'binary'。默認(rèn)為'binary'。

協(xié)程函數(shù) select(selector:str,* values )

選擇選項(xiàng)并返回所選值,如果沒有元素匹配selector,請(qǐng)加注ElementHandleError。

協(xié)程函數(shù) setBypassCSP(enabled:bool )

切換繞過頁面的Content-Security-Policy。

注意

CSP繞過在CSP初始化而不是評(píng)估時(shí)發(fā)生,通常這意味著page.setBypassCSP 應(yīng)該在導(dǎo)航到域之前調(diào)用它。

協(xié)程函數(shù) setCacheEnabled(enabled:bool = True )

為每個(gè)請(qǐng)求啟用/禁用緩存,默認(rèn)情況下,啟用緩存

協(xié)程函數(shù) setContent(html:str )

將內(nèi)容設(shè)置為此頁面

參數(shù):

html(str) - 要分配給頁面的HTML標(biāo)記。

協(xié)程函數(shù) setCookie(* cookies )

設(shè)置cookie

cookies 應(yīng)該是包含這些字段的字典:

name(str):必填

value(str):必填

url (STR)

domain (STR)

path (STR)

expires (數(shù)字):Unix時(shí)間,以秒為單位

httpOnly (布爾)

secure (布爾)

sameSite(str):'Strict'或'Lax'

setDefaultNavigationTimeout(timeout:int )

更改默認(rèn)的最大導(dǎo)航超時(shí),此方法更改以下方法的默認(rèn)超時(shí)30秒:

goto()

goBack()

goForward()

reload()

waitForNavigation()

參數(shù):

timeout(int) - 最大導(dǎo)航時(shí)間(以毫秒為單位),設(shè)置為零0 禁用超時(shí)。

協(xié)程函數(shù) setExtraHTTPHeaders(title:Dict [str,str] )

設(shè)置額外的HTTP標(biāo)頭,將在頁面啟動(dòng)的每個(gè)請(qǐng)求中發(fā)送額外的HTTP標(biāo)頭

注意

page.setExtraHTTPHeaders 不保證傳出請(qǐng)求中的標(biāo)頭順序。

參數(shù):

headers(Dict) - 包含要與每個(gè)請(qǐng)求一起發(fā)送的其他http標(biāo)頭的字典。所有標(biāo)頭值必須是字符串。

本篇文章整理了三分之二還有三分之一明天繼續(xù),來不及了。

重要:因?yàn)橥焦?hào)的文章格式很難保證,所以后面文章選擇性在其他平臺(tái)同步,歡迎移步公眾號(hào)(Python之戰(zhàn)),每日更新原汁原味!

總結(jié)

以上是生活随笔為你收集整理的mfc 添加 excel类给定关键字不在字典中_pyppeteer最为核心类Page的接口方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。