Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
社会人最初の作業でスクショを頑張った話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masaki Hashimura
August 02, 2023
Programming
71
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
社会人最初の作業でスクショを頑張った話
Masaki Hashimura
August 02, 2023
Other Decks in Programming
See All in Programming
Event is what happens
moro
2
770
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
300
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
290
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
カツオ、ご期待ください
suneo3476
0
190
気持ちぃ〜角丸 Squircle
ryu1013
0
310
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Featured
See All Featured
Crafting Experiences
bethany
1
380
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Designing Experiences People Love
moore
143
24k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Building Adaptive Systems
keathley
44
3.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Mind Mapping
helmedeiros
1
400
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
エンジニアに許された特別な時間の終わり
watany
109
250k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Transcript
社会人最初の作業で スクショの自動化を頑張った話 株式会社ラクーンホールディングス 橋村 将希
自己紹介 ⧫ 名前 - 橋村 将希 ⧫ 所属 - 株式会社ラクーンホールディングス
- フルスタックエンジニア - ECサイトの開発 ⧫ 趣味 - ボードゲーム、猫、飯の量をミスる
新卒での最初の仕事を覚えていますか?
研修終わり(2019年9月) 今日から業務で緊張するな~ 今日から業務だけど、要件定義が大変なやつと開 発が大変なやつどっちがいい? 🤔🤔🤔🤔🤔🤔🤔🤔🤔 じゃあ要件定義で...
要件の大変なやつ 要件 ・いろいろなURLにアクセスしてスクリーンショットを撮って欲しい。 ・幅や高さには指定する大きさがある ・利用するブラウザは頻繁にアップデートが入る ・どんな技術を利用するかは任せた! じゃあ使う技術はNodeがいいなぁ... でもスクリーンショットってどうやったら自動で取れるんだろう ...
chromeを使えば簡単に取れる
chromeを使えば簡単に取れる! chrome.exe --remote-debugging-port=◦◦◦◦ chromeをリモートデバッグオプションを使って起動する 外部ツール
chromeを使えば簡単に取れる! 起動したchromeで適当なURLを開き、 別のタブでlocalhost:◦◦◦◦/jsonにアクセスする
chromeを使えば簡単に取れる! { "description": "", "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:9222/devtools/pag e/167882B7BDD1DA32621F4C0F26B4D924", "id": "167882B7BDD1DA32621F4C0F26B4D924", "title":
"株式会社ラクーンホールディングス ", "type": "page", "url": "https://www.raccoon.ne.jp/", "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/167882B7BDD1DA326 21F4C0F26B4D924" } 該当のタブを操作するために提供されているWebSocket接続のURL これを利用してWebSocketクライアントから接続する
chromeを使えば簡単に取れる! 接続を通じてCDP(chrome devtools protocol)形式のメッセージを送信することで、 そのページに対して操作を行う CDP(chrome devtools protocol) Google ChromeやChromiumベースのブラウザとその他の
Chromiumベースのアプリケーションとの間で、デ バッグや自動テスト、その他のタスクを行うための通信プロトコル 例: スクリーンショットを撮るメソッド Page.captureScreenshot 例: ページを遷移するメソッド Page.navigate 例: ディスプレイのサイズを変更する Emulation.setDeviceMetricsOverride
実際に見てみよう!
None
結構大変?
これ一つで解決!!
なぜ? 2018年6月に開発が終了しているため、 更新が見込めない WebDriverを利用しているため、 CDPよりも自由度が低そうだと判断 (4からはCDPを利用できる)
ブラウザ起動 タブ作成 URL スクリーンショット Promise URL毎 URLのリスト
思い出 ・会社のシステムの理解もあまりなかったので、要件定義からリリースまで3か月くらいかかった ・レビュー・QAでの指摘数は100を超えていた ・時間はかかったが、会社の人との関係やサービスへの理解が深まった ・大きな作業だったが、リリース後も障害も起きず評価された ・今もまだシステムの更新が行われています ・Nodeのアップデート編 ・クジラに乗せてくれ編 ・TypeScriptにしていなかった まだTypeScriptをあまり使って
おらず、入れることにビビっていた TypeScriptは? なんでTypeScript にしなかったの? なんでJS?
新卒最初の作業でチャレンジさせてくれたチームに感謝
ご清聴ありがとうございました