[Hadzy] Youtube Comment Analytics

Hadzy - The best youtube comment picker and great tool to search for all comments, open it with 'Activate' menu button

  1. // ==UserScript==
  2. // @name [Hadzy] Youtube Comment Analytics
  3. // @namespace https://greasyfork.org/en/users/10118-drhouse
  4. // @version 3.1
  5. // @description Hadzy - The best youtube comment picker and great tool to search for all comments, open it with 'Activate' menu button
  6. // @include https://www.youtube.com/watch?*
  7. // @include https://hadzy.com/analytics/youtube/
  8. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
  9. // @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
  10. // @grant GM_getValue
  11. // @grant GM_setValue
  12. // @grant GM_registerMenuCommand
  13. // @author drhouse
  14. // @icon https://www.google.com/s2/favicons?domain=youtube.com
  15. // ==/UserScript==
  16. this.$ = this.jQuery = jQuery.noConflict(true);
  17.  
  18. (function($){
  19.  
  20. GM_registerMenuCommand("Activate", function(){
  21. if (location !== "https://hadzy.com/analytics/youtube/"){
  22. var here = window.location.href;
  23. GM_setValue("ytube", here);
  24. // window.location.href = 'https://hadzy.com/analytics/youtube/';
  25. window.open('https://hadzy.com/analytics/youtube/');
  26. }
  27. }, "A");
  28.  
  29. if (window.location.href === 'https://hadzy.com/analytics/youtube/'){
  30. var storedObject = GM_getValue("ytube");
  31. var target1 = $('.MuiInputBase-input');
  32. var target2 = $('.MuiButtonBase-root');
  33. $(target1).val(storedObject);
  34. $(target2).click();
  35. setTimeout(function(){
  36. var loadButton = $('.MuiButtonBase-root.MuiFab-root');
  37. $(loadButton).click();
  38. }, 1000);
  39.  
  40. function waitForElementToDisplay(selector, time) {
  41. if($(selector)!=null) {
  42. $(selector).click();
  43. return;
  44. }
  45. else {
  46. setTimeout(function() {
  47. waitForElementToDisplay(selector, time);
  48. }, time);
  49. }
  50. }
  51.  
  52. var target3 = "div.MuiPaper-root > div.MuiCardContent-root > button"
  53. waitForElementToDisplay(target3, 1000)
  54. var target4 = "div.MuiCardContent-root > a:nth-child(2) > button";
  55. waitForElementToDisplay(target4, 1000)
  56. //#root > div > div.MuiPaper-root.MuiCard-root.sc-kAzzGY.jujnLM.MuiPaper-elevation1.MuiPaper-rounded > div.MuiCardContent-root.sc-kGXeez.dVnFSi > a:nth-child(2) > button
  57. }
  58. })(jQuery);