javascript 全自动脚本加载所有教练然后添加为收件人

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 全自动脚本加载所有教练然后添加为收件人相关的知识,希望对你有一定的参考价值。

var loadMoreCoachesAttempts = 0;
var loadMoreButtonSelector = '#main-app-content-container > div > ui-view > promote-container > div > div > div > div:nth-child(1) > promote-recipient-select > div > div.promote-recipient-select-pager.ng-scope > button';

function waitForElementToDisplay(selector, time) {

  if (document.querySelector(selector) != null) {

    document.querySelector(selector).click();

    setTimeout(function() {
      waitForElementToDisplay(selector, time);
    }, 500);  

  } else {

    if (loadMoreCoachesAttempts === 3) {
      addCoaches();
      return console.log('loaded and selected all coaches or internet issue encountered');
    }

    loadMoreCoachesAttempts++;
    
    setTimeout(function() {
      waitForElementToDisplay(selector, time);
    }, time);
  }

}

function getElementsByText(str, tag = 'a') {
  return Array.prototype.slice.call(document.getElementsByTagName(tag)).filter(el => el.textContent.trim() === str.trim());
}

function addCoaches() {
  var addButtons = getElementsByText('Add', 'button');

  for (var i = 0; i <= addButtons.length - 1; i++) {
    addButtons[i].click();
  }
}

waitForElementToDisplay(loadMoreButtonSelector, 1000);

以上是关于javascript 全自动脚本加载所有教练然后添加为收件人的主要内容,如果未能解决你的问题,请参考以下文章

加载和执行 --《高性能JavaScript》

延迟加载Javascript/CSS工具:LazyLoad

加载特定网站时自动运行 JavaScript 代码

Selenium:如何点击javascript按钮

Hight Performance Javascript——脚本加载和运行

LABjs学习之无阻塞动态并行加载脚本文件以及管理执行顺序