autoClick

B站自动宽页模式,知乎问题自动展开全部。快捷键为Z

目前为 2023-10-22 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name autoClick
  3. // @namespace https://github.com/weiensong/cirrhinus-molitorella
  4. // @version 1
  5. // @description B站自动宽页模式,知乎问题自动展开全部。快捷键为Z
  6. // @author You
  7. // @match https://www.bilibili.com/video/*
  8. // @match https://www.zhihu.com/question/*
  9. // @license GNU General Public License v3.0
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14. var xpathsToWaitFor = [
  15. '//div[@class="bpx-player-control-wrap"]//div[@aria-label="宽屏"]',
  16. '//button[contains(text(),"显示全部 ")]'
  17. ];
  18.  
  19. function waitForXPaths(xpaths, callback) {
  20. function checkXPath(xpath) {
  21. var element = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
  22. if (element) {
  23. callback(element);
  24. }
  25. }
  26.  
  27. xpaths.forEach(function(xpath) {
  28. checkXPath(xpath);
  29. });
  30.  
  31. var observer = new MutationObserver(function(mutations) {
  32. xpaths.forEach(function(xpath) {
  33. var newElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
  34. if (newElement) {
  35. observer.disconnect();
  36. callback(newElement);
  37. }
  38. });
  39. });
  40.  
  41. observer.observe(document, { childList: true, subtree: true });
  42. }
  43.  
  44. document.addEventListener('keydown', function(event) {
  45. if (event.key === 'z') {
  46. checkXPathsAndClick();
  47. }
  48. });
  49.  
  50. function checkXPathsAndClick() {
  51. for (var i = 0; i < xpathsToWaitFor.length; i++) {
  52. var element = document.evaluate(xpathsToWaitFor[i], document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
  53. if (element) {
  54. console.log(xpathsToWaitFor[i],element)
  55. element.click();
  56. break;
  57. }
  58. }
  59. }
  60.  
  61. waitForXPaths(xpathsToWaitFor, function(elementToClick) {
  62. if (elementToClick) {
  63. elementToClick.click();
  64. }
  65. });
  66.  
  67. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址