Javascript 在网站上等待特定时间以启动流程

Javascript 在网站上等待特定时间以启动流程,javascript,eval,imacros,Javascript,Eval,Imacros,我想在非常特定的时间启动一个流程 该网站有一个时间指示器: 标签位置=1类型=FONT属性=TXT:2:31:35下午 我需要做的是: 如果时间为下午2:45:00,请等待=0.2秒,然后继续执行宏 如果没有,请等到下午2:45:00 任何指导都将不胜感激 Mac OS X.El Capitan 10.11.2 firefox 44.0标记位置=1类型=字体 ATTR=TXT:2:31:35下午 或许,这将对您有所帮助: ' e.g. one day waiting ' SET !TIMEOUT

我想在非常特定的时间启动一个流程

该网站有一个时间指示器:

标签位置=1类型=FONT属性=TXT:2:31:35下午

我需要做的是:

  • 如果时间为下午2:45:00,请等待=0.2秒,然后继续执行宏
  • 如果没有,请等到下午2:45:00
  • 任何指导都将不胜感激

    Mac OS X.El Capitan 10.11.2 firefox 44.0标记位置=1类型=字体 ATTR=TXT:2:31:35下午


    或许,这将对您有所帮助:

    ' e.g. one day waiting '
    SET !TIMEOUT_STEP 86400
    TAG POS=1 TYPE=FONT ATTR=TXT:2:45:00PM
    
    SET !TIMEOUT_STEP 6
    WAIT SECONDS=0.2
    ' your further code '
    

    如果时间大于或等于下午2:45:00,您可以尝试以下方式:

    SET !TIMEOUT_STEP 53100
    SEARCH SOURCE=REGEXP:"2:4[5-9]:\d\dPM|2:5[0-9]:\d\dPM|([3-9]|1[0-2]):\d\d:\d\dPM"
    

    最好的方法是将JavaScript与imacros一起使用,并为元素创建一个时间侦听器,指示时间,如果时间是下午2:45,imacros代码将完成

    假设时间指示器具有ID=“time”,并且它包含类似“2:44:54 PM”的文本

    注意,文件应该是.js而不是.iim,以便在内部执行JavaScript。 在这里,它是一个将imacros代码转换为JavaScript代码的简单工具
    您可以在此处阅读有关imacros JavaScript的更多信息,我明白这一点-如果时间在下午2:45:00之前,您希望页面保持打开状态并等待到正确的时间,然后再等待0.2秒,然后触发一个函数?这不仅仅是当页面加载时,如果时间是(或超过)下午2:45:00,然后等待0.2秒并触发函数?Hi Markus。谢谢你的反馈。我已经能够标记时间,使它是下午2:31:25开始的过程。但是,如果宏在其他部分失败(在命令行下面),我希望能够在宏上再次点击Play。但是,根据定义,它将晚于下午2:31:25,因此我当前的设置方式将在第二天开始!任何建议都将不胜感激Shugar,非常感谢!我已经把这部分搞定了。我缺少的是(如果代码稍后失败),我希望能够重播宏。例如,它会像“如果时间超过或等于下午2:45:00”一样感谢您的进一步反馈!!!window.content.document将在Firefox上运行,JavaScript解决方案将在Firefox上运行,而internet explorer google chrome尚不受支持。
    do {
    var time = window.content.document.getElementById("time"); //catch element
    time = time.textContent; //get text inside will be " 2:44:54 PM "
    time = time.trim();  //remove spaces around text not inside text now text will be "2:44:54 PM"
    time = time.replace('PM','');  // case sensitive if it will be pm then add pm now text will be "2:44:54 "
    time = time.trim(); // making sure no spaces around my text which will be only "2:44:54" or any thing
    if (time =='2:45:00'){
    //do your macro code
    break;}   // break to exit while loop and continue code >>after while condition
    }while(1);
    //>>after while condition