其實相信有爬蟲經驗的人,
就會發現我們做的許多單元測試,
跟爬蟲有87%像,
實際上它的原理跟爬蟲也是差不多,
只是我們的目的是用來測試自己作的網站,
但是我們在用簡單功能爬蟲的時候,
有時候會遇到一個問題,
就是JS的Render問題。
你會發現取得回來的資料,
跟我們實際上在網站上看到的資料,
可能會有所不同,
因為現在很多的網頁,
不會在一開始就把資料都處理好,
而是等畫面載入完成之後,
透過JS去做Render的動作,
把資料顯示在網頁上。
那針對這樣的網頁,
我們應該要怎麼做呢?
有些人可能想要自己寫,
不過既然都有人造好輪子了,
為什麼還要這麼麻煩呢?
Laravel本身有提供ChromeDriver可以讓我們做這個動作。
ChromeDriver 是一個為 Chromium 實作的應用程式,
要使用ChromeDriver需要安裝Chrome,
大部分是用在電腦或是Android手機上,
透過ChromeDriver它會幫我們抓取經過Js Render之後的網頁,
在爬蟲上很有名的Selenium常常也是透過ChromeDriver來實作。
我們就不探討太多學術性的東西,
明天開始就來研究如何使用ChromeDriver作測試。