使用JS程式碼自動填寫問卷星問卷調查
阿新 • • 發佈:2018-12-06
測試效果
1.不保證答案正確性,因為是隨機的,不適合專門的資料採集,僅供大家需要大量資料樣本時使用或者娛樂一下
2.多次操作或者敏感操作需要手動輸入驗證碼
3.少部分特殊要求的多選題無法自動選擇
使用方法:
1.在瀏覽器中新建書籤,書籤名字隨便寫,網址為後邊貼的程式碼
--以google瀏覽器為例:截圖如下
--書籤建立好後儲存;
2.開啟要填寫的問卷星網頁連結,點選剛才儲存的書籤
3.點選執行之後會出現三種情況:①問卷提交成功頁面,可以繼續做下一次;②:提交失敗(錯誤),需要手動提交驗證碼,填上驗證碼提交就可以了;③:提交失敗,部分特殊要求多選題無法自動選擇,手動勾選提交就可以;
4.很多問卷調查最後都會有一個文字框讓說意見建議之類的,程式碼預設的是"支援本次問卷調查!非常贊同!"(可更改,在程式碼最後的位置)
希望看到的同學來關注一下我的csdn或者部落格,以後也會分享更多有用的東西給大家!謝謝!!!
部落格地址:https://blog.csdn.net/Chenlele710147
暱稱:懶咩咩
程式碼如下:
javascript: void ( (function () { var hash = {}; var a = document.evaluate('//input[(@type="radio") and not(@value="0")]//@name', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); if (a.snapshotLength){ for (var i = 0; i < a.snapshotLength; i++) { if (!(a.snapshotItem(i).value in hash)) hash[a.snapshotItem(i).value] = 0; hash[a.snapshotItem(i).value]++; } for (i in hash) { document.evaluate('//input[(@type="radio") and not(@value="0") and @name="' + i + '"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(Math.floor(Math.random() * hash[i])).click(); } } var array = new Array(); var as = document.getElementsByTagName("a"); var preName = ""; var change = false; for(var i=0; i < as.length; i++){ if(as[i].getAttribute("rel") != null && as[i].nextSibling.getAttribute("type") == "checkbox"){ var name = as[i].nextSibling.getAttribute("name"); var check = as[i].nextSibling.getAttribute("checked"); if(check == "checked"){ as[i].click(); } if(preName == "" || preName == name){ if(Math.random() * 10 > 5){ as[i].click(); change = true; } } var next = as[i + 1]; if(next.getAttribute("rel") != null && next.nextSibling.getAttribute("type") == "checked" && next.getAttribute("name") != name){ if(!change){ as[i].click(); } change = false; } if(i == as.length - 1 && !change){ as[i].click(); } preName = name; } } var objs = document.getElementsByTagName("textarea"); for (var i = 0; i < objs.length; i++){ objs[i].focus(); objs[i].value = "支援本次問卷調查!非常贊同!"; objs[i].blur(); } var choose = document.getElementsByTagName("select"); for (var i = 0; i < choose.length; i++) { choose[i].focus(); choose[i].value = "1"; choose[i].blur(); } })()); function validate(){return true;} var btn = document.getElementById("submit_button"); window.setTimeout(btn.click(),2000);