mws

自用工具库

当前为 2022-05-27 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/445645/1055009/mws.js

  1. var mws = new class {
  2. sleep(milliseconds) {
  3. return new Promise(resolve => {
  4. setTimeout(() => { resolve(); }, milliseconds);
  5. });
  6. }
  7. async _Step(selector, callback, need_content, timeout) {
  8. while (timeout--) {
  9. if (document.querySelector(selector) === null) {
  10. await this.sleep(100);
  11. continue;
  12. } else {
  13. if (need_content) {
  14. if (document.querySelector(selector).innerText.length == 0) {
  15. await this.sleep(100);
  16. continue;
  17. }
  18. }
  19. }
  20. break;
  21. }
  22.  
  23. callback(selector);
  24. }
  25. wait(selector, need_content = false, timeout = Infinity) {
  26. return new Promise(resolve => {
  27. this._Step(selector, function (selector) { resolve(document.querySelector(selector)); }, need_content, timeout);
  28. });
  29. }
  30.  
  31. }();