QR Send

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

使ってみる →

スクレイピング

Selenium・自動化

Ruby+Seleniumでよく出るエラーと対処法まとめ(保存版)

Ruby+Seleniumの自動化でよく出るエラーを症状別に整理し、原因と対処の要点を簡潔にまとめた索引記事。各エラーの詳細解説記事へのリンク付き。
Selenium・自動化

Seleniumでテーブル(表)データを抽出してCSVに保存する定石(Ruby)

Seleniumで表形式のデータをtable要素から抽出し、ヘッダーと本文行を分けて正規化したうえでCSVへ安全に書き出す手順をRubyコード付きで解説します。
Selenium・自動化

Seleniumで壊れにくいロケータを設計する:絶対XPathをやめて変更に強い要素指定に

SeleniumのロケータをDevToolsコピペの絶対XPathやハッシュ化class名に頼らず、data-*属性・テキスト関係・複数条件・定数集約で変更に強く設計する方法をRubyで解説します。
Selenium・自動化

Seleniumでselect・日付ピッカーを確実に操作する:Selectクラスとカレンダー操作、選択後の検証

Seleniumのselect要素はSupport::Selectで、JS描画のカスタムドロップダウンや日付ピッカーはクリック操作で、選択後は値を検証する、という確実な操作方法を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で郵便番号を引く際、建物名除去と区切り文字違いによる多段フォールバック、および重複排除の共通ライブラリ化について解説します。