Node.js 機器處理 (1)

基本介紹

教學目標

透過 selenium-webdriver 套件進行瀏覽器機器人操作。(必須在 GUI 環境執行 Chrome 瀏覽器。)

套件安裝

1
$ npm install selenium-webdriver --save

前置作業

從官方網站下載最新版本的 ChromeDriver ,接著為了讓 Node.js 透過 Selenium 指令操作 Chrome 瀏覽器,將解壓縮之後的執行檔放置專案根目錄。

使用教學

開啟 Chrome 瀏覽器。

1
2
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();

載入 https://www.google.com 網站。

1
driver.get("https://www.google.com");

當取得網頁標題之後,才會繼續往下執行。

1
2
3
driver.getTitle().then(function(title) {
console.log(title);
}

在 HTML 標記的 id 為 username 的網頁元件中輸入文字。

1
driver.findElement(webdriver.By.id('username')).sendKeys('leoyeh.me@gmail.com');

取得所有 HTML 標記為 a 的網頁元件中的 href 屬性。

1
2
3
4
5
6
7
driver.findElements(webdriver.By.tagName('a')).then(function(elems){
elems.forEach(function (elem) {
elem.getAttribute('href').then(function(link){
console.log(link);
});
});
});

關閉 Chrome 瀏覽器。

1
driver.quit();

透過以上簡單的指令就能解決需要登入才能取得授權資料的問題。

相關資源