轮训网页,并打开截图保存

        接着完善一下自己期望的功能,自动轮训所有的网站,并且打开网址,在桌面停留20s自己观看,自动截屏保存在D盘,保存的截图命名为当时截屏时间。

        我们直接上代码,代码中有注释,每个人可以直接根据自己需求,直接更改网址列表,停止轮训时间,甚至你要觉得停留时间太长或者太慢、轮训间隙太长或者太短都可以自己更改秒数。

        接下来话不多说直接上代码。

import os
import time
import webbrowser
from threading import Timer


# 重写了threading.Timer的 run 方法,让start只有一个线程运行,防止崩溃
class RepeatingTimer(Timer):
    def run(self):
        while not self.finished.is_set():
            self.function(*self.args, **self.kwargs)
            self.finished.wait(self.interval)


# 设置访问网站列表
urllist = [
    'https://baidu.com',
    'https://qq.com',
    'https://alibaba.com',
    'https://jd.com',
    'https://mi.com'
]
# 设置关闭定时器时间
time_end = time.strptime("2022/12/12 12:00:00", '%Y/%m/%d %H:%M:%S')


def func():
    for url in urllist:
        webbrowser.open(url, 2, autoraise=True)  # 打开页面
        time.sleep(10)  # 设置每次打开新页面的等待时间
        time_new = time.strftime("%Y年%m月%d日%H时%M分%S秒")  # 获取现在本地时间
        os.system(
            "start chrome --headless --hide-scrollbars --disable-gpu --screenshot=d:\{}.jpg  --window-size=1280,1696 {}"
            .format(time_new, url))  # 使用无头浏览器截屏,保存路径为D盘,名称为截屏时间
        time.sleep(10)  # 设置每次等待关闭浏览器的时间
        os.system("taskkill  /F /im chrome.exe")  # 在Windows OS中关闭
    # 判断轮训时间
    time_now = time.localtime()  # 获取现在本地时间
    if time_now > time_end:
        t.cancel()  # 关闭定时器
        print('已过设定时间,关闭定时器')
    else:
        print('未到设定时间继续轮训')


t = RepeatingTimer(6000, func)  # 设置定时器,每6000秒执行一次函数
t.start()  #

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值