Greasy Fork is available in English.

netacad script

skript na vyplnovani netacad linux testu

Verze ze dne 04. 04. 2019. Zobrazit nejnovější verzi.

  1. // ==UserScript==
  2. // @name netacad script
  3. // @namespace http://lkov.tk/
  4. // @version 0.9
  5. // @description skript na vyplnovani netacad linux testu
  6. // @author @sirluky
  7. // @include https://content.netdevgroup.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. // Your code here...
  15. function r(){
  16.  
  17. fetch(`https://api.jsonbin.io/b/5ca52dba34241f2ab5e1ba79`).then(e => e.json()).then(unparseddata => {
  18. const parsedData = unparseddata;
  19. //parsedData.push(prompt("zadejte ziskany kod"))
  20. /**
  21. * @param {*} n question number
  22. * return string with answer
  23. */
  24.  
  25. function start(){
  26. let phase = 0;
  27. runForAll()
  28. function runForAll(){
  29. setTimeout(e => {
  30. let question = getQuestion(phase)
  31. let answers = findAnswer(question, parsedData);
  32. answers.forEach(answer => {
  33. checkAnswer(phase, answer)
  34. })
  35. if (question) {
  36. phase++;
  37. setTimeout(e => {
  38. runForAll()
  39. }, 300);
  40. }
  41. }, 300)
  42. }
  43.  
  44. }
  45. function getQuestion(n) {
  46. return document.querySelectorAll(".panel-body")[n].querySelector("div").innerText
  47. }
  48. function checkAnswer(n,text){
  49. let list = []
  50. document.querySelectorAll(".panel-body")[n].querySelectorAll(".answer_container div").forEach((e,index) => list.push([e.innerText,index]))
  51. list = list.filter(e => e[0] === text);
  52. // list = list.length > 0 ? true :false;
  53. console.log(list)
  54. if(list.length > 0){
  55. console.log(list[0][1])
  56. document.querySelectorAll(".panel-body")[n].querySelectorAll(".answer_container div")[list[0][1]].parentElement.parentElement.childNodes[1].checked = true
  57. } else {
  58. document.querySelectorAll(".panel-body")[n].style.background = "mistyrose"
  59. }
  60. return list;
  61. }
  62.  
  63. //question to select
  64. function findAnswer(toFind, myData) {
  65. let ans = myData.filter(e => e.question === toFind.slice(0, e.question.length));
  66. if(ans.length > 0){
  67. return ans[0].answers;
  68. } else{
  69. return []
  70. }
  71. }
  72. start()
  73. // document.querySelectorAll(".panel-body")[n].querySelector("answer_container div")
  74.  
  75. /*
  76.  
  77. parsing from https://www.ccna7.com/linux-essentials/linux-essentials-chapter-2-exam/
  78. */
  79.  
  80.  
  81.  
  82. //quesetion
  83. // document.querySelectorAll("ol>li")[0 /* question number */ ].querySelectorAll("h3")[1].innerText
  84. //answers
  85. // document.querySelectorAll("ol>li")[0 /* question number */ ].querySelectorAll("span")[0].innerText
  86. })
  87. } r()
  88. })();