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. }();