Seleniumブラウザ操作 – JavaScriptガイド
更新日:2025/03/12

Seleniumとは
Seleniumは、ブラウザを自動操作するためのオープンソースフレームワークです。テスト自動化、ウェブスクレイピング、ブラウザ操作の自動化などに利用されます。
JavaScriptでのSelenium利用方法
環境設定
// 必要なパッケージをインストール
// npm install selenium-webdriver
// 基本的なセットアップ
const { Builder, By, Key, until } = require('selenium-webdriver');
async function example() {
// ブラウザを起動(ChromeDriverが必要)
const driver = await new Builder().forBrowser('chrome').build();
try {
// 処理を記述
} finally {
// ブラウザを閉じる
await driver.quit();
}
}
基本操作
ウェブページにアクセス
// ウェブサイトを開く
await driver.get('https://www.example.com');
要素の検索と操作
// 必要なパッケージをインストール
// npm install selenium-webdriver
// 基本的なセットアップ
const { Builder, By, Key, until } = require('selenium-webdriver');
async function example() {
// ブラウザを起動(ChromeDriverが必要)
const driver = await new Builder().forBrowser('chrome').build();
try {
// 処理を記述
} finally {
// ブラウザを閉じる
await driver.quit();
}
}
要素の操作
// クリック
await element.click();
// テキスト入力
await element.sendKeys('検索ワード');
// キー入力(Enterキーを押す)
await element.sendKeys(Key.RETURN);
// テキスト取得
const text = await element.getText();
// 属性値取得
const attributeValue = await element.getAttribute('href');
待機処理
// 明示的な待機(要素が見つかるまで最大10秒待機)
await driver.wait(until.elementLocated(By.id('result')), 10000);
// 要素が表示されるまで待機
await driver.wait(until.elementIsVisible(await driver.findElement(By.id('result'))), 10000);
// タイトルに特定の文字列が含まれるまで待機
await driver.wait(until.titleContains('結果ページ'), 10000);
JavaScript実行
// ブラウザ上でJavaScriptを実行
await driver.executeScript('return document.title;');
// スクロール処理
await driver.executeScript('window.scrollTo(0, document.body.scrollHeight);');
// 要素までスクロール
const element = await driver.findElement(By.id('target'));
await driver.executeScript('arguments[0].scrollIntoView(true);', element);

-
検索
(例) debug search etc.. -
カテゴリー
-
mixhostでのWordPress利用について
更新日:2024/04/02
299 view
-
scrollHint
更新日:2024/03/13
249 view
-
XML Sitemap Generator for Google不具合のダウングレード対応、代替プラグイン
更新日:2024/06/13
235 view
-
【SnowMonkey】納品までのフローまとめ
更新日:2025/02/15
163 view
-
ワードプレスでフォントを変えたいとき、プラグインを使えば初心者でも簡単
更新日:2025/02/16
144 view
-
【Googleサーチコンソール】検索画面で表示させたくない「Googleのインデックス削除」
更新日:2024/06/07
129 view
-
【ショートコード】編集画面で任意の場所にHTMLファイルを挿入
更新日:2024/01/26
122 view
-
キーワード検索で上位表示させる方法【SEO】
更新日:2023/10/28
120 view
-
tailwindcss使い方
更新日:2024/03/13
120 view
-
Recline: GitHub Copilotで動作するClaude 3.5 Sonnet搭載の開発支援ツール
更新日:2025/01/20
110 view
-
WordPressプラグイン「All-in-One WP Migration」のトラブル
更新日:2022/03/31
84 view
-
ワードプレスセキュリティー対策まとめ【2025年】「site guard wordpress」「BackWPup バージョン5でUI変更!?」
更新日:2025/02/25
76 view
-
SSHを使用してGitHubのリポジトリをクローン、複数の接続元で公開鍵をディレクトリで区別する方法
更新日:2025/01/13
47 view
-
VSCodeで開発効率を劇的に向上させる!Roo-Clineプラグイン完全ガイド【Gemini API】
更新日:2025/02/08
41 view
-
「JSONスキーマ」と「Few-shot Learning」で実現する次世代生成AIソフトウェア開発の可能性
更新日:2025/02/12
40 view
-
WordPressの無料画像素材のおすすめダウンロードサイト!
更新日:2022/02/22
35 view
-
リファクタリング【VSCode Javasctipt Python】
更新日:2025/03/09
35 view
-
形態素解析とは?初心者でもわかるツールの使い方と実践例
更新日:2025/02/08
33 view
-
【Next.js AWS】音声文字起こし&要約、分析アプリケーション(S3)(Transcribe)(Amazon Bedrock)
更新日:2025/02/13
30 view
-
VSCodeプラグイン「 Pretter – Code formatter」「PHP Intelephense 」
更新日:2025/01/06
26 view