<?xml version="1.0" encoding="UTF-8"?>
<!-- このサイトマップは、2026年8月18日の10:00 PMに、WordPress 用のオリジナル SEO プラグイン All in One SEO v4.9.10により動的生成されました。 -->

<?xml-stylesheet type="text/xsl" href="https://www.katsulog.tech/default-sitemap.xsl"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>katsulog</title>
		<link><![CDATA[https://www.katsulog.tech]]></link>
		<description><![CDATA[katsulog]]></description>
		<lastBuildDate><![CDATA[Tue, 18 Aug 2026 09:32:39 +0000]]></lastBuildDate>
		<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
		<atom:link href="https://www.katsulog.tech/sitemap.rss" rel="self" type="application/rss+xml" />
		<ttl><![CDATA[60]]></ttl>

		<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-stable-operation-checklist/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-stable-operation-checklist/]]></link>
			<title>「一度動いても壊れる」Seleniumスクレイパーを安定運用するための設計チェックリスト</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:32:39 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-ruby-common-errors/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-ruby-common-errors/]]></link>
			<title>Ruby+Seleniumでよく出るエラーと対処法まとめ（保存版）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:28:42 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-table-extract-to-csv/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-table-extract-to-csv/]]></link>
			<title>Seleniumでテーブル（表）データを抽出してCSVに保存する定石（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:25:56 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-shadow-dom-elements/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-shadow-dom-elements/]]></link>
			<title>Seleniumで見えているのに見つからない要素の正体：Shadow DOM内を操作する（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:18:40 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-robust-locator-design/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-robust-locator-design/]]></link>
			<title>Seleniumで壊れにくいロケータを設計する：絶対XPathをやめて変更に強い要素指定に</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:15:52 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-download-complete-detect/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-download-complete-detect/]]></link>
			<title>Seleniumでファイルのダウンロード完了を確実に待つ：.crdownloadとサイズ安定チェックで検知する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:15:09 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-wait-ajax-complete/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-wait-ajax-complete/]]></link>
			<title>SeleniumでAjax（非同期読み込み）の完了を待つ：ローディングが消えるまで確実に待機する（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:12:48 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-alert-dialog-basic-auth/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-alert-dialog-basic-auth/]]></link>
			<title>SeleniumでJSダイアログとBasic認証を扱う：alert/confirm/promptとブラウザ認証（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:10:28 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-file-upload-send-keys/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-file-upload-send-keys/]]></link>
			<title>Seleniumでファイルアップロードを自動化する：input[type=file]にsend_keysでパスを渡す(Ruby)</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:08:54 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-select-datepicker-operation/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-select-datepicker-operation/]]></link>
			<title>Seleniumでselect・日付ピッカーを確実に操作する：Selectクラスとカレンダー操作、選択後の検証</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:07:44 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/rspec-selenium-e2e-minimal/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/rspec-selenium-e2e-minimal/]]></link>
			<title>RSpec+SeleniumでE2Eテストを書く最小構成（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 09:01:40 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-ruby-to-playwright-typescript/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-ruby-to-playwright-typescript/]]></link>
			<title>Selenium（Ruby）からPlaywright（TypeScript）へ移行して変わった考え方</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:51:05 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-ruby-github-actions-schedule/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-ruby-github-actions-schedule/]]></link>
			<title>SeleniumのRubyスクレイパーをGitHub Actionsで定期実行する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:48:20 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-explicit-wait-design/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-explicit-wait-design/]]></link>
			<title>Seleniumの明示的待機を正しく設計する：sleepをやめてWebDriverWaitと自作条件で「取れるまで待つ」（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:48:06 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-mcp-1-62-bundled/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-mcp-1-62-bundled/]]></link>
			<title>Playwright 1.62でMCPサーバーが本体同梱に：npx playwright mcpだけで動くようになった話</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:46:56 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/headless-chrome-selenium-rendering-fix/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/headless-chrome-selenium-rendering-fix/]]></link>
			<title>ヘッドレスChrome（Selenium）の文字化け・レイアウト崩れを防ぐ実運用設定</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:46:49 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-github-actions-ci-intro/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-github-actions-ci-intro/]]></link>
			<title>【入門】PlaywrightをGitHub Actionsで自動実行する：ワークフローYAML・ブラウザキャッシュ・trace保存まで</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:46:27 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-speedboard-slow-tests/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-speedboard-slow-tests/]]></link>
			<title>「テストは通るけど遅い」を可視化する：PlaywrightのSpeedboardとタイムラインで原因を突き止める</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:45:50 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-mcp-intro/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-mcp-intro/]]></link>
			<title>【初心者向け】Playwright MCP入門：AIにブラウザを触らせてテストを書いてもらう</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:45:49 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/chrome-extension-built-in-ai-gemini-nano/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/chrome-extension-built-in-ai-gemini-nano/]]></link>
			<title>Chrome拡張に組み込みAI（Gemini Nano）を積む：サーバーもAPIキーも要らないAI機能の足し方</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:45:10 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-iframe-window-switch/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-iframe-window-switch/]]></link>
			<title>Seleniumで「見えているのに操作できない」を解消する：iframe・別タブ・別ウィンドウをまたぐ操作の定石</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:44:39 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/claude-code-chrome-extension-frontend-loop/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/claude-code-chrome-extension-frontend-loop/]]></link>
			<title>Claude Codeの公式Chrome拡張で、フロント修正のたびに自分でChromeを開いて確認するのをやめた話</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:44:34 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/qr-send-chrome-extension-intro/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/qr-send-chrome-extension-intro/]]></link>
			<title>スマホのURLをPCのChromeへワンタップ送信できるChrome拡張『QR Send』を作りました</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:44:29 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/geocoding-address-postalcode-fallback/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/geocoding-address-postalcode-fallback/]]></link>
			<title>住所からGeocoding APIで郵便番号を引く：建物名除去と区切り文字違いの多段フォールバック</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:44:02 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-expect-matchers-tobetruthy/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-expect-matchers-tobetruthy/]]></link>
			<title>toBeTruthyを卒業する：Playwrightのexpectで意味のあるマッチャーを選ぶ</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:44:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-block-editor-keyboard-automation/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-block-editor-keyboard-automation/]]></link>
			<title>Seleniumでブロックエディタに自動入力する：send_keysが効かない領域はキーボードショートカットで制御する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:56 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-driver-quit-and-recreate-pattern/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-driver-quit-and-recreate-pattern/]]></link>
			<title>Seleniumで「driver.getが失敗する」を乗り切る：ドライバを丸ごと作り直すリトライ設計</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:53 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-pagination-next-button-scroll/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-pagination-next-button-scroll/]]></link>
			<title>Seleniumで「次へ」ボタンがクリックできない時に、座標までscrollしてから再試行する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:49 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-product-image-scoring/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-product-image-scoring/]]></link>
			<title>Seleniumで商品ページの本命画像を1枚選ぶ：複数の画像候補をスコアリングして決定する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:45 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-infinite-scroll-verify-by-item-count/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-infinite-scroll-verify-by-item-count/]]></link>
			<title>Seleniumで無限スクロールの「スクロールしたのに増えていない」を防ぐ：要素数で判定する三段構え</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:39 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-self-healing-long-run/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-self-healing-long-run/]]></link>
			<title>Seleniumバッチを長時間動かし続けるための自己回復設計</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:35 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-stale-element-reference-refetch/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-stale-element-reference-refetch/]]></link>
			<title>SeleniumのStaleElementReferenceErrorを根絶する：要素を掴み直す再取得パターン(Ruby)</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:33 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-ruby-csv-atomic-write/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-ruby-csv-atomic-write/]]></link>
			<title>SeleniumバッチのCSVログをtmp→renameで壊れないように書く</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:31 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-verify-action-by-state-change/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-verify-action-by-state-change/]]></link>
			<title>Seleniumで「クリックしたのに成功していない」を防ぐ：ボタンの状態変化で成否を判定する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:27 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-cookie-save-restore-login/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-cookie-save-restore-login/]]></link>
			<title>SeleniumでログインCookieを保存・復元してログインを省略する（Rubyの実装とハマりどころ）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:23 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/selenium-element-click-intercepted-fallback/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/selenium-element-click-intercepted-fallback/]]></link>
			<title>Seleniumで「element click intercepted」を撲滅する4段フォールバック実装（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:43:17 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-typescript-tutorial/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-typescript-tutorial/]]></link>
			<title>【超初心者向け】Playwright + TypeScriptチュートリアル：環境構築からブラウザ自動操作まで一歩ずつ</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:42:52 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/ai-playwright-test-token-cost/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/ai-playwright-test-token-cost/]]></link>
			<title>AIにPlaywrightテストを書かせると実際いくらかかるのか：MCP経由とCLI経由でトークンが4倍違うという話</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:42:39 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/scraping-batch-external-api-cache-resume/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/scraping-batch-external-api-cache-resume/]]></link>
			<title>スクレイピングで集めたデータを外部APIで加工するバッチの設計：キャッシュ・レート制御・途中再開</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:42:35 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/claude-code-agent-teams-vs-subagents-worktrees/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/claude-code-agent-teams-vs-subagents-worktrees/]]></link>
			<title>Claude Codeの「Agent Teams」って何？subagent・git worktreeとの違いと使い分け</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:42:13 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-expect-matchers-reference/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-expect-matchers-reference/]]></link>
			<title>Playwright の expect マッチャー完全リファレンス【初心者向け・保存版】</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:41:59 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/cloudflare-pages-individual-site-ops/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/cloudflare-pages-individual-site-ops/]]></link>
			<title>個人サイトをCloudflare Pagesで運用する：独自ドメイン・デプロイ・無料枠の実際（qrsend.appの実例）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:41:58 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-trace-cli-video-receipts/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-trace-cli-video-receipts/]]></link>
			<title>テストが落ちた時、ブラウザUIを開かずCLIだけで追う：npx playwright traceとVideo Receipts</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:41:26 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/claude-code-playwright-plugin-vs-skills-mcp/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/claude-code-playwright-plugin-vs-skills-mcp/]]></link>
			<title>Claude CodeにPlaywrightを「プラグイン」として入れてみた：/plugin install playwright@claude-plugins-officialはSkills/MCPと何が違うのか</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:41:02 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/chrome-extension-mv3-practical-points/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/chrome-extension-mv3-practical-points/]]></link>
			<title>Chrome拡張のMV3、個人開発者が本当にハマるのはservice worker・CSP・最小権限でした</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:40:59 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-test-cli-options/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-test-cli-options/]]></link>
			<title>Playwright CLIオプション完全リファレンス：grep / project / workers の使い分け</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:40:33 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/storybook-composestories-playwright-ct-portable-stories/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/storybook-composestories-playwright-ct-portable-stories/]]></link>
			<title>StorybookのポータブルストーリーがPlaywright Component Testingにそのまま持ち込めるようになった：composeStoriesで「Storybookで書いた話とPlaywrightで書くテストが別物」を終わらせる</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:40:33 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/playwright-test-agents-init-agents/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/playwright-test-agents-init-agents/]]></link>
			<title>PlaywrightのTest Agentsは結局いつから使えるのか：npx playwright init-agentsを公式リリースノートで確認する</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:40:31 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/extract-page-id-from-url-regex-fallback/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/extract-page-id-from-url-regex-fallback/]]></link>
			<title>URLからページ固有のIDを安定して抜き出す：優先順位付き正規表現フォールバックの設計（Ruby）</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:40:14 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://www.katsulog.tech/codex-cli-slash-commands-guide/]]></guid>
			<link><![CDATA[https://www.katsulog.tech/codex-cli-slash-commands-guide/]]></link>
			<title>OpenAI Codex CLIのスラッシュコマンド総まとめ：Claude Codeユーザーが乗り換えて戸惑ったところ</title>
			<pubDate><![CDATA[Tue, 18 Aug 2026 08:40:07 +0000]]></pubDate>
		</item>
				</channel>
</rss>
