2011年1月7日

[IE8] 應用 Developer Tool 進行網頁內容自動填寫

又到了學期末,在忙不完的報告海之中
學校的教務系統突然來了一封信,提醒坎尼快去把教學意見調查表填完
填自己喜愛的課沒問題,但同樣的動作要做幾百次可是麻煩至極
尤其是沒什麼收獲的課 
於是坎尼就寫了一段 javascript 讓機器自動填答 Orz

I. 找尋 Pattern

這類型的作業最重要的就是找到可利用的 Pattern
我們來看一下要填寫的 Form
DTQ02
可以看到,要填答的選項很明顯的是用 input radio 組成
打開 IE8 的 DevTool (快速鍵為 F12)
DTQ03
果然沒錯,所以只要取出所有的 radio 物件
再決定要填寫哪個 value 即可

II. 撰寫 script

上面得知了目前狀況,稍微來厘清一下步驟: (以非常同意為例)
  1. 取得 radio 物件
  2. 找出 value 為 1 的物件
  3. 選取
由於要選取物件,這邊坎尼載入擁有有強大選擇器的 jQuery
var script;
script = document.createElement("script");
script.setAttribute('language', 'javascript');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
var head = document.getElementsByTagName('head')[0];
head.appendChild(script);
// 1 非常同意 3 普通 5 非常不同意
$("input:radio[value=1]").attr("checked","checked"); 
接著打開 DevTool,把 Tab 切換至指令碼
將上述程式碼輸入並執行
DTQ01
很快地,30幾個單選選項都自動填答完成
接著只要改幾個自己覺得不滿意的選項即可...

III. 小結

其實從這邊就可以看出自動化的威力
簡單的幾行程式就可以把整個 Form 填完

(以下為抱怨)
從上面的 sample 其實能夠得知網路問卷的信度有多差
總覺得研究者該做的不是把問卷發一發等著回收就好
要了解對象的 Deep insight 才是重點
可惜坎尼看到的都是隨意做一做就放進論文的資料來源
這樣的論文真的會對世界有幫助嗎?

1 則留言:

Unknown 提到...

IE8 Dev Tool 真是太邪惡了 XDD

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D