andypku
非常火狐
非常火狐
  • UID23097
  • 注册日期2008-03-05
  • 最后登录2022-08-20
  • 发帖数865
  • 经验740枚
  • 威望0点
  • 贡献值790点
  • 好评度26点
  • 社区居民
  • 忠实会员
阅读:2066回复:9

【求助】firefox有没有扩展能够定时打开某个网页的?

楼主#
更多 发布于:2018-02-26 10:56
比如说我希望每天早上9:00,定时打开某个指定网页并完成登陆。firefox有没有这样的扩展呢?(当然,windows的计划与任务应该可以完成这个目标,但是我想知道ff本身是否可以做到这一点。。)

最新喜欢:

l10xl10x
myhead
火狐狸
火狐狸
  • UID46565
  • 注册日期2014-07-04
  • 最后登录2020-04-14
  • 发帖数107
  • 经验92枚
  • 威望0点
  • 贡献值20点
  • 好评度8点
1楼#
发布于:2018-02-26 21:51
逻辑很简单,用基本的js就能实现,所以这样的拓展写起来应该不难,但需求太特化可能没有现成的可用。

57以前的版本应该还可以用 Selenium 或 iMacros 这类强大拓展实现,至于新版本,仍然可以使用用户脚本实现。

思路参考:

var previous = undefined;
function run(){
    now = (new Date()).getHours();
    if ((new Date()).getHours() == 9 && now != previous){
        console.log('trigger');
        window.open('https://www.baidu.com/###login');
    }
    else{
        console.log('sleep');
    }
    previous = now;
}
        
console.log('start');
setInterval(run, 60000);



// ==UserScript==
// @name        tt
// @namespace   tt
// @description tt
// @include     https://www.baidu.com/###login
// @version     1
// @grant       none
// ==/UserScript==

var oldonload = window.onload;
window.onload = function(){
  try{
    oldonload()
  }catch(e){}
  var i = setInterval(function(){
    console.log('login')
    var b = document.querySelector('a.lb:nth-child(7)');
    if (!b){return;}
    clearInterval(i);
    b.click();
    i = setInterval(function(){
      b = document.querySelector('#TANGRAM__PSP_10__footerULoginBtn');
      if (!b){return;}
      clearInterval(i);
      b.click();
      i = setInterval(function(){
        b = document.querySelector('#TANGRAM__PSP_10__submit');
        if (!b){return;}
        clearInterval(i);
        document.querySelector('#TANGRAM__PSP_10__userName').value = 'username';
        document.querySelector('#TANGRAM__PSP_10__password').value = 'password';
        b.click();    
      }, 1000);
    }, 1000);
  }, 1000);
};


要更精确控制的话可以使用 MutationObserver 和 Promise。

另一前提是登录不需要验证码。
andypku
非常火狐
非常火狐
  • UID23097
  • 注册日期2008-03-05
  • 最后登录2022-08-20
  • 发帖数865
  • 经验740枚
  • 威望0点
  • 贡献值790点
  • 好评度26点
  • 社区居民
  • 忠实会员
2楼#
发布于:2018-03-02 08:14
myhead:逻辑很简单,用基本的js就能实现,所以这样的拓展写起来应该不难,但需求太特化可能没有现成的可用。

57以前的版本应该还可以用 Selenium 或 iMacros 这类强大拓展实现,至于新版本,仍然可以使用用户脚本实现。

思路参...
回到原帖
好厉害,我需要消化消化。
对我这种对脚本几乎完全无知的人,能用吗?
myhead
火狐狸
火狐狸
  • UID46565
  • 注册日期2014-07-04
  • 最后登录2020-04-14
  • 发帖数107
  • 经验92枚
  • 威望0点
  • 贡献值20点
  • 好评度8点
3楼#
发布于:2018-03-02 12:26
andypku:好厉害,我需要消化消化。
对我这种对脚本几乎完全无知的人,能用吗?
回到原帖
不能直接用,因为这个是打开百度并自动登录的,你需要修改百度相关的代码为你目标网页相关的代码,主要就是setInterval的层数和相应按钮的css selector。

如果你有编程经验的话,花个两三天学点基础的Javascript再搞懂上面所用到函数的意义之后就可以上手了,没有编程经验的话花的时间可能要长一点。

不过,如果你只需要定时打开网页的逻辑而不需要自动登录的逻辑的话,只要上面第一段代码就够了(把'https://www.baidu.com/###login'修改为你要打开的网页,把getHours后面的9修改成你定的小时(24小时制)):



var previous = undefined;
function run(){
    now = (new Date()).getHours();
    if (now == 9 && now != previous){
        console.log('trigger');
        window.open('https://www.baidu.com/###login');
    }
    else{
        console.log('sleep');
    }
    previous = now;
}
        
console.log('start');
setInterval(run, 60000);



调用这段代码的方法有很多,可以本地新建一个网页存到script标签里打开,可以随便在一个标签页打开浏览器控制台输出,也可以缩成一行后加javascript:前缀直接在地址栏里输入或保存为书签调用,等等。
EMLVIRUS
火狐狸
火狐狸
  • UID53909
  • 注册日期2016-04-26
  • 最后登录2023-01-31
  • 发帖数164
  • 经验184枚
  • 威望0点
  • 贡献值84点
  • 好评度17点
  • 社区居民
  • 忠实会员
4楼#
发布于:2018-03-02 15:41
仅仅是打开的话

test pilot 里的 snooze tab 就可以
andypku
非常火狐
非常火狐
  • UID23097
  • 注册日期2008-03-05
  • 最后登录2022-08-20
  • 发帖数865
  • 经验740枚
  • 威望0点
  • 贡献值790点
  • 好评度26点
  • 社区居民
  • 忠实会员
5楼#
发布于:2018-03-03 09:10
如果是仅仅打开的话,我用windows的计划任务大概也能实现吧。。。
infinity
狐狸大王
狐狸大王
  • UID48261
  • 注册日期2014-12-18
  • 最后登录2023-03-15
  • 发帖数352
  • 经验350枚
  • 威望0点
  • 贡献值96点
  • 好评度34点
  • 社区居民
  • 忠实会员
6楼#
发布于:2018-03-05 13:51
我在用Simple Browsing Schedule定时打开网站,登录签到靠自己写的GM脚本
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
7楼#
发布于:2018-03-05 16:13
这个扩展挺好的,但不支持火狐最新版。有能力的改一改
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
8楼#
发布于:2018-03-05 16:13
infinity
狐狸大王
狐狸大王
  • UID48261
  • 注册日期2014-12-18
  • 最后登录2023-03-15
  • 发帖数352
  • 经验350枚
  • 威望0点
  • 贡献值96点
  • 好评度34点
  • 社区居民
  • 忠实会员
9楼#
发布于:2018-03-05 22:30
marb:https://myweeklybrowsingschedule.wordpress.com/2012/02/24/addonforfirefox/回到原帖
lol 开发者在AMO这个扩展的页面上给了我说的扩展的链接
游客

返回顶部