阅读:2434回复:9
【求助】firefox有没有扩展能够定时打开某个网页的?
比如说我希望每天早上9:00,定时打开某个指定网页并完成登陆。firefox有没有这样的扩展呢?(当然,windows的计划与任务应该可以完成这个目标,但是我想知道ff本身是否可以做到这一点。。)
|
|
最新喜欢:![]() |
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。 另一前提是登录不需要验证码。 |
|
2楼#
发布于:2018-03-02 08:14
|
|
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:前缀直接在地址栏里输入或保存为书签调用,等等。 |
|
4楼#
发布于:2018-03-02 15:41
仅仅是打开的话
test pilot 里的 snooze tab 就可以 |
|
5楼#
发布于:2018-03-03 09:10
如果是仅仅打开的话,我用windows的计划任务大概也能实现吧。。。
|
|
6楼#
发布于:2018-03-05 13:51
我在用Simple Browsing Schedule定时打开网站,登录签到靠自己写的GM脚本
|
|
7楼#
发布于:2018-03-05 16:13
这个扩展挺好的,但不支持火狐最新版。有能力的改一改
|
|
8楼#
发布于:2018-03-05 16:13
|
|
9楼#
发布于:2018-03-05 22:30
|
|