Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
impression of google chrome headless
Search
teitei_tk
May 31, 2017
Programming
1.9k
0
Share
impression of google chrome headless
teitei_tk
May 31, 2017
More Decks by teitei_tk
See All by teitei_tk
Claude Code × WebLLM:AI駆動開発で作る次世代PDF要約ツール
teitei
0
160
dive to Ruby on Rails module autoloading
teitei
1
4.9k
貴方はOmniAuth::AuthHashを知っていますか?
teitei
0
9.9k
myhome-progress
teitei
0
95
recommend parallel career
teitei
0
1.2k
嫁に怒られずにGoを書く技術
teitei
0
2.6k
AWS parking lot shutter hack project
teitei
2
4.2k
Other Decks in Programming
See All in Programming
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
480
Inside Stream API
skrb
1
630
AIエージェントの隔離技術の徹底比較
kawayu
0
460
Modding RubyKaigi for Myself
yui_knk
0
890
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
280
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
2.7k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
210
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
290
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
3.5M
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Thoughts on Productivity
jonyablonski
76
5.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Navigating Weather and Climate Data
rabernat
0
210
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Code Reviewing Like a Champion
maltzj
528
40k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
ChromeHeadless modeΛ৮ͬͨॴײ 2017/05/31 @teitei_tk
ࣗݾհ • @teitei_tk • ࠷ۙϋΠϥϧԦࠃΛฏʹ͢ΔͨΊʹؤுͬ ͯ·͢ɻ
ຊ
ͷલʹ
Chrome Headless ͱʁ
͍ΘΏΔHeadlessϒϥβ • ޡղΛঝͰݴ͑ɺGUIͷແ͍Chromeɻ • GUIͳ͍͕ɺ෦తʹϖʔδͷϨϯμϦϯά ͔ΒJavaScriptͷ࣮ߦɺϒϥβͬΆ͍͜ͱ͕ Ͱ͖Δ
Ͳ͏͍͏༻్͕͋Δͷ • WebApplicationͷςετ • ͍ΘΏΔE2E • WebPageͷΩϟϓνϟࡱӨ • WebαΠτͷεΫϨΠϐϯά •
DDoS߈ܸ
ͳͥ Chrome Headless͔
PhantomJSͷࢮ
PhantomJSͱ • HeadlessϒϥβͷҰͭ • ͓ͦΒ͘Ұ൪ਓؾ͕͋ΔͷͰͳ͍ͩΖ͏͔ • ͔͠͠ɺ2017/05/30ݱࡏͰissue1848ɺPull Request58ͱ։ൃఀ͍ͯ͠Δ • https://github.com/ariya/phantomjs/
PhantomJS is Dead • ͦͯ͠།Ұͷϝϯςφ͕ࠓޙΈͳChrome Headlessʹ Γ͑ΔͩΖ͏ͱϝϯςφΛࣙΛએݴɻ • https://groups.google.com/d/msg/phantomjs/9aI5d- LDuNE/5Z3SMZrqAQAJ
• ࠓޙͷߏ͋Δͷ͔ɺphantomiumͱ͍͏PhantomJS + ChromeHeadlessͷ୯ޠ͕Έ߹Θͬͨ͞ϨϙδτϦ͋ Δ • https://github.com/Vitallium/phantomium
ͱ͍͏ͷ͕എܠ
Կނ Chrome Headless͔
• Google͕։ൃ͍ͯ͠Δͱ͍͏҆৺ײ • Webඪ४ͷ४ڌ͕ૣ͍ͷͰɺ͍ͪૣ͘ػೳ͕͑Δɻ • ֤छAPIͷར༻͕Մೳ • ServiceWorker • IndexedDB
• Memory Heap Profiler • etc
ͱ͍͏Θ͚Ͱ ৮ͬͯΈͨ
Setup • Chrome Ver59Ҏ͕߱ඞਢ • ݱࡏ(2017/05/30)ͷChromeͷStable Version58 • Chrome CanaryΛ͏ͱྑͦ͞͏
؆୯ͳͷͳΒ͙͢ग़དྷΔ • ShellͰ͙͢ग़དྷΔ • DOMͷग़ྗ • PDF࡞ • Ωϟϓνϟͷऔಘ •
eg. $ chrome --headless --disable-gpu --dump- dom https://www.chromestatus.com/
దʹWrapperॻ͍ͨ • ΩϟϓνϟͷࡱӨ • https://wobfnz0lh2.execute-api.us- west-2.amazonaws.com/dev/chrome?url=https:// google.co.jp • PDFͷੜ •
https://wobfnz0lh2.execute-api.us- west-2.amazonaws.com/dev/pdf?url=https:// google.com/
• ݴޠɿNode.js • ओʹ༻ͨ͠ϥΠϒϥϦ • chrome-remote-interface • ChromeͷAPIΛୟ͘Node.jsϥΠϒϥϦ • lighthouse
• ChromeΛىಈ͢Δϔϧύʔ͕هࡌ͞Ε͍ͯΔ ϥΠϒϥϦ
ॴײ • ҆ఆԽ·Ͱ͏গֻ͔͠Γͦ͏ɻ • Ṗͷ--disable-gpu Option • API͕·ͩམͪண͍͍ͯͳ͍ͷͰຊ൪ೖ·ͩආ͚ͨ΄͏ ͕ྑͦ͞͏ •
ͱ͍͑PhantomJSͷޙ佂ʹ࠲Γͦ͏ɻ • ಈ͓͖ͬͯ·͢ɻ • Կ͔͋ͬͨΒهࣄͰॻ͍ͯڞ༗͠·͢ɻ