QR Send

スマホとPCのChrome間で、URLやテキストをQRコード1回のペアリングで送り合える自作Chrome拡張。アカウント不要・無料。

使ってみる →

Ruby

Selenium・自動化

RSpec+SeleniumでE2Eテストを書く最小構成(Ruby)

RSpec+SeleniumでE2Eテストを書くための最小構成をRubyコード付きで解説。Gemfile・spec_helper・サンプルログインフォームのテスト・失敗時スクショ・CI対応まで一気通貫で紹介します。
Selenium・自動化

SeleniumのRubyスクレイパーをGitHub Actionsで定期実行する

ローカルPCを常時起動してcronでSeleniumバッチを回すのは意外と面倒です。GitHub Actionsのschedule(cron)とヘッドレスChromeで、無料枠内に収まる定期実行環境を組む方法を解説します。
Selenium・自動化

Seleniumの明示的待機を正しく設計する:sleepをやめてWebDriverWaitと自作条件で「取れるまで待つ」(Ruby)

Seleniumで固定sleepに頼らず、WebDriverWaitとuntilによる明示的待機、標準条件で足りない場合の自作待機条件、タイムアウト時に何を待っていたか分かるメッセージ設計まで、Rubyのコード例で解説します。
Selenium・自動化

ヘッドレスChrome(Selenium)の文字化け・レイアウト崩れを防ぐ実運用設定

ヘッドレスChrome(Selenium/Ruby)で発生しがちな日本語の文字化けとレイアウト崩れを、フォント導入とオプション設定で安定させる方法を解説します。
Selenium・自動化

Seleniumで「見えているのに操作できない」を解消する:iframe・別タブ・別ウィンドウをまたぐ操作の定石

Seleniumで要素が見えているのに操作できない原因の多くはiframeや別タブへの切り替え漏れです。switch_to.frameとwindow_handlesによる基本操作と、ensureで必ず元のコンテキストへ戻すヘルパー化の方法を解説します。
Selenium・自動化

SeleniumのStaleElementReferenceErrorを根絶する:要素を掴み直す再取得パターン(Ruby)

SeleniumのStaleElementReferenceErrorを、要素参照を使い回さず「使う直前に毎回find」する再取得パターンとリトライヘルパー(with_retry_on_stale)で根絶する方法を解説します。
Selenium・自動化

スクレイピングで集めたデータを外部APIで加工するバッチの設計:キャッシュ・レート制御・途中再開

スクレイピングで集めたデータを外部APIで加工するバッチを設計する際、従量コストと実行時間を抑えるためのローカルキャッシュ・レート制限対応・途中再開の仕組みをRubyで解説します。
Selenium・自動化

URLからページ固有のIDを安定して抜き出す:優先順位付き正規表現フォールバックの設計(Ruby)

同じサイトでも複数あるURL形式からページ固有のIDを安定して取り出すため、優先順位付き正規表現配列と妥当性検証、パターンごとのログ記録という設計を解説します。
Selenium・自動化

Seleniumで複数サイトを巡回するスクレイパーを「共通設計」にまとめる

Seleniumで複数の一覧型サイトを巡回するスクレイパーをサイトごとにコピペ増殖させず、基底クラス+アダプタ+設定の3層に共通化する設計を解説します。
Selenium・自動化

住所からGeocoding APIで郵便番号を引く:建物名除去と区切り文字違いの多段フォールバック

住所文字列からGeocoding APIで郵便番号を引く際、建物名除去と区切り文字違いによる多段フォールバック、および重複排除の共通ライブラリ化について解説します。