なんだかんだ、ブラウザ
selenium-webdriverでブラウザ定番作業を自動化する。
インストール
1 |
npm install selenium-webdriver |
Chromeで自動操作をさせたいので、Chromeのドライバーもインストール
1 |
npm install chromedriver |
コードは、例えば以下のような感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
require('chromedriver'); var webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until; var driver = new webdriver.Builder() .forBrowser('chrome') .build(); driver.get('http://camhr.com/'); driver.findElement(By.name('q')).sendKeys('webdriver'); driver.findElement(By.name('btnG')).click(); driver.wait(until.titleIs('webdriver - Google Search'), 1000); driver.quit(); |
ただこれは、、一回一回実行するために、Chromeのインスタンスが開始する。
新たに開かずにChromeを操作するために
1 2 3 |
System.setProperty("webdriver.chrome.driver","./node_modules/chromedriver/lib/chromedriver/chromedriver"); options.addArguments("user-data-dir=ユーザデータディレクトリ"); options.addArguments("--start-maximized"); |
を追加する必要がある。
ユーザデータディレクトリを確認する。
chromeのURLに「chrome://version/」を入力するっと。
表示される内容の「Profile Path」の項目の内容がユーザデータディレクトリ。