目的
Chromeをnodejs + selenium-webdriver + chromedriverからキックしてみる
SeleniumBasicのインストール
※環境変数の文字数制限により、同居(笑)
Seleniumbasicの Release page より SeleniumBasic-2.0.9.0.exe をDLする
exeを実行すると、C:\Users\user_name\AppData\Local\SeleniumBasic にインストールされる
ソースコードのプロジェクトをVS2019で開くと .NET Framework 3.5 を指定しているので
Windowsの設定 -> アプリ -> オプション機能 -> Windowsのその他の機能 -> .NET Framework 3.5 が有効であることを確認する
selenium-webdriverのインストール
※v4なのは、Edgeと比較するため(かもしれない)
> npm install -S selenium-webdriver
+ selenium-webdriver@4.0.0-alpha.7
ChromeDriverのインストール
Chrome についてよりChromeのバージョンを確認する
ChromeDriver - WebDriver for Chromeよりバージョンに合わせてDLする
chromedriver_win32.zip を解凍後 chromedriver.exe を SeleniumBasic フォルダに上書きする
サンプルコード
const { Builder, By, Key, until } = require('selenium-webdriver');
let driver;
(async () => {
try {
driver = await new Builder().forBrowser('chrome').build();
await driver.get('https://www.google.co.jp/');
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN);
await driver.wait(until.titleIs('webdriver - Google 検索'), 5000);
// await driver.sleep(5000);
}
catch(error) {
console.error(error);
}
finally {
if(driver) {
await driver.quit();
}
}
})();
参考にしたのは以下のサイト
selenium-webdriver
Module selenium-webdriver
Node.js で selenium-webdriver と chromedriver を使って Chrome ブラウザを自動操作してみる
Promiseが分かれば簡単!async, await
Windows 10 + Excel2016 VBA + seleniumbasic で chromedriver / msedgedriver を使ってみる