本帖最后由 hgils 于 2023-4-21 09:20 编辑
一直想实现定时自动保存某个网页。之前采用Powershell控制IE,结果发现会弹出保存的窗口,需要点击一下。
后来研究采用Python 控制Edge可以实现保存相关网页。
参考了网上一些方案,代码如下,需要安装Webdriver 、selenium 以及Pywin32 模块
[Python] 纯文本查看 复制代码
"""
利用Edge保存网页
"""
from selenium import webdriver
import win32api
import win32con
import win32clipboard
from ctypes import *
import datetime
import time
wd = webdriver.Edge(r"webdrive 安装位置")
wd.get(r"http://www.baidu.com")
time.sleep(20)
text=str(datetime.datetime.now().strftime("%Y%m%d"))
# 将日期复制到剪切板
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText(text)
win32clipboard.CloseClipboard()
# 按下ctrl+s
win32api.keybd_event(0x11, 0, 0, 0)
win32api.keybd_event(0x53, 0, 0, 0)
win32api.keybd_event(0x53, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(5)
# 按下ctrl+v
win32api.keybd_event(0x11, 0, 0, 0)
win32api.keybd_event(0x56, 0, 0, 0)
win32api.keybd_event(0x56, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(2)
# 按下回车
win32api.keybd_event(0x0D, 0, 0, 0)
win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(5)
wd.close() |