技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2019 iT 邦幫忙鐵人賽
DAY
19
0
AI & Data
Puppeteer 簡單快速建立自己的 Nodejs 爬蟲
系列 第
19
篇
Day 19 Puppeteer API 介紹 - class: ExecutionContext, JSHandle
2019鐵人賽
henry.w
2018-10-19 22:32:12
1980 瀏覽
分享至
class: ExecutionContext
這個是代表JavaScript execution的context,每個page都有很多個,
這可以透過frame.executionContext()獲得
executionContext.evaluate(pageFunction, ...args)
回傳promise 可以透過他執行一些function
executionContext.evaluateHandle(pageFunction, ...args)
會回傳一個jshandle的promise
executionContext.frame()
回傳父frame
executionContext.queryObjects(prototypeHandle)
可以拿到JShandle的實例
class: JSHandle
代表JavaScript的物件,可以透過 page.evaluateHandle 拿到
const windowHandle = await page.evaluateHandle(() => window);
jsHandle.asElement()
如果是 ElementHandle 物件,會回傳自己或null
jsHandle.dispose()
丟棄此物件
jsHandle.executionContext()
回傳他所屬的execution context
jsHandle.getProperties()
回傳 Map(string, JSHandle)可以透過他們拿到js物件
jsHandle.getProperty(propertyName)
回傳單個JSHandle
jsHandle.jsonValue()
回傳object所代表的JSON,如果沒辦法會丟錯誤
留言
追蹤
檢舉
上一篇
Day 18 Puppeteer API 介紹 - class: Frame, ConsoleMessage
下一篇
Day 20 Puppeteer API 介紹 - class: ElementHandle
系列文
Puppeteer 簡單快速建立自己的 Nodejs 爬蟲
共
25
篇
目錄
RSS系列文
訂閱系列文
28
人訂閱
21
Day 21 Puppeteer API 介紹 - class: SecurityDetails, Target, CDPSession, TimeoutError
22
Day 22 Puppeteer處理lazy load, SSR, 反爬蟲防禦, 高效地爬大量數據
23
Day 23 爬蟲範例-中央社(練習使用typescript)
24
Day 24 爬蟲範例-中央社-每個子項(類lazy load)
25
Day 25 爬蟲範例-中央社-繼續
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19847
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
FortiGate SSLVPN替代方案?
AARQ 通訊協議是?
SSLVPN 轉 IPSEC VPN 的問題
Dell or Asus 伺服器,哪牌比較好?
Dell or Asus Storage 或NAS,哪牌比較好?
將硬碟上的 EFI 分割區複製到固態硬碟後,ARM 架構的 Ubuntu Server 無法啟動
iT邦幫忙如何搜尋 關鍵字?
sdray vigor2927 sslvpn ip設定問題
Qnap帳號於同一個IP反覆登入失敗.
熱門回答
FortiGate SSLVPN替代方案?
Dell or Asus 伺服器,哪牌比較好?
將硬碟上的 EFI 分割區複製到固態硬碟後,ARM 架構的 Ubuntu Server 無法啟動
iT邦幫忙如何搜尋 關鍵字?
SSLVPN 轉 IPSEC VPN 的問題
熱門文章
c++的.h和cpp,放在相同目錄下好,還是頂層就用include,src分開好? [搬運/問答]
人工智慧模型 LLM (單一模型) 與 人工智慧代理 AI Agent(人工智慧代理)是什麼?兩者之間的關鍵差異?
別再只是做報表了,真正的人資資料分析是這樣做的
你的產品用了多少開源軟體?如何掌握潛在漏洞與風險?
AI 音樂創作指令(Prompt)深度指南:解鎖主流AI 音樂生成工具的全部潛力
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}