🚀
Node.jsでEdgeを画面操作する
Edge用のWebドライバーをインストール
1. 公式サイトからドライバーをダウンロード
2. 解凍して任意のフォルダに配置する
例えばC:\edgedriver
フォルダを作成し、そこに解凍したファイルmsedgedriver.exe
など一式を配置する。
3. PATHを通す
PATHを通せばソースコード上でいちいちドライバーのフルパスを書かなくて良くなる。
- 「システム環境変数の編集」を開き、「システム環境変数」の'Path'を選択し、「編集」ボタンをクリック。
- 「新規(N)」ボタンをクリックし、ドライバを配置したフォルダ(
C:\edgedriver
)を入力し「OK」をクリック。 - コマンドプロンプトなどのターミナルを新規で開き、
msedgedriver --version
を実行。バージョンが返ってくればOK。返ってこない場合は、少し時間を置く。(PATH変更前に開いていたターミナルでは、変更前の設定情報を参照しているので、新規ターミナルで確認すること。)
TypeScriptで動くNodeプロジェクトを立ち上げる
1. プロジェクトフォルダ作成・移動
mkdir my-ts-project
cd my-ts-project
2. npm初期化
npm init -y
3. TypeScriptと型定義のインストール
npm install --save-dev typescript @types/node
4. TypeScript設定ファイル作成
npx tsc --init
5. tsconfig.json を必要に応じて編集
(例:"target": "esnext", "module": "nodenext" など
プロジェクトのフォルダ構成は以下。
my-ts-project
└── my-app/
├── node_modules
├── package.json
├── package-lock.json
└── tsconfig.json
Google画面を呼び出す
Google画面をedgeで表示して、5秒後に自動でとじるようにしました。
index.ts
ファイルはmy-app
フォルダ配下に作成する。
index.ts
import { Builder, By, Key, until } from "selenium-webdriver";
const URL = "https://google.com";
(async function example() {
let driver = await new Builder().forBrowser("MicrosoftEdge").build();
try {
await driver.get(URL);
await driver.sleep(5000); // 5秒待つ
} finally {
await driver.quit();
}
})();
実行する
tsファイルのまま実行できるコマンド
npx ts-node index.ts
Discussion