ブラウザを自動で操作する例|Selenium(Node.js)を利用する方法

Seleniumはブラウザ操作を自動化できるライブラリ。

今回は、Seleniumを利用できるnpmのパッケージで、Google Chromeを操作する簡単な例となります。

また、操作するブラウザのChromeと、npmはすでにインストールされている前提としています。npmのインストールやコマンドについては以下のリンク先を参考にしてみてください。

【npm】Seleniumでブラウザ操作を自動化する例

以下、Node.jsでSeleniumを利用し、ブラウザ操作を自動化する流れとなります。

package.jsonを作成

作業フォルダをプロジェクトとして作成します。

そして、プロジェクトの直下にcdコマンドで移動し、以下のコマンドでpackage.jsonを作成します。

npm init -y

selenium-webdriverをインストール

Seleniumを利用できるnpmパッケージ「selenium-webdriver」を、以下のコマンドでインストールします。

npm install selenium-webdriver

ブラウザを自動操作するスクリプトを作成

ブラウザを自動操作するスクリプトを作成します。

例では、ファイル名をtest.jsとしてプロジェクトの直下に配置し、次のスクリプトを記述します。

const {Builder, Browser, By, Key, until} = require('selenium-webdriver');

(async function example() {
  let driver = await new Builder()
    .forBrowser(Browser.CHROME)
    .build();
  try {
    await driver.get('https://www.google.com/');
    await driver.findElement(By.name('q')).sendKeys('テスト', Key.RETURN);
    await driver.wait(until.titleIs('テスト - Google 検索'), 1000);
  } finally {
    await driver.quit();
  }
})();

上記の例では、次のようにブラウザの自動操作を行っています。

Chromeを起動してGoogleで「テスト」と検索し、検索結果ページが表示された1秒後にChromeのプロセスを終了します。

npm-scriptsを利用してファイルを実行

npmでは、コマンドをnpm-scriptsとして定義して実行できます。

例では、npm-scriptsを利用して作成したファイルを実行するため、次のようにpackage.jsonファイル内の"scripts"の値を追加します。

"scripts"の値はオブジェクトとなり、キーに任意のコマンド名を指定し、値に実行するコマンドを指定します。

"scripts": {
	"selenium": "node test.js"
}

そして、定義したnpm-scriptsを、以下のコマンドで実行します。

npm run selenium

それにより、ブラウザの自動操作が実行されます。

VSCodeでnpm-scriptsを実行する場合

コードエディタのVSCodeでは、npm-scriptsをサイドバーのメニューから簡単に実行できます。詳しくは以下のリンク先を参考にしてみてください。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。