屏幕固定区域等时间间隔截屏一次
启动程序,第二次点击鼠标确定区域的左上角位置,第三次点击鼠标确定区域的右下角位置,第四次点击确定下一页按钮的位置,等待5秒后,开始每秒截屏一次。from pynput import mouse
import pyautogui
from time import sleep
# 初始化一个空列表来存储点击的坐标
click_positions = []
def on_click(x, y, button, pressed):
if pressed:
print(f'Clicked at ({x}, {y}) with {button}')
# 将点击的坐标添加到列表中
click_positions.append((x, y))
# 如果列表中有两个坐标,就不再记录更多
if len(click_positions) == 4:
# 停止监听
return False
# 开始监听鼠标事件
with mouse.Listener(on_click=on_click) as listener:
listener.join()
# 打印前两次点击的坐标
if len(click_positions) == 4:
print("First click position:", click_positions)
print("Second click position:", click_positions)
print("Third click position:", click_positions)
print("Fourth click position:", click_positions)
else:
print("Not enough clicks recorded.")
sleep(10)
for i in range(49):
# 截取屏幕,参数为截屏区域的左上角坐标和宽高
im = pyautogui.screenshot(region=(click_positions, click_positions, click_positions, click_positions))
# 保存截图到文件
im.save(f'd:/a/截屏{str(i).zfill(3)}.png')
sleep(1)
# 鼠标左键点击指定坐标的位置,参数为坐标位置
pyautogui.click(x=click_positions, y=click_positions)
试了楼主的代码好像有点问题,截屏出来不正确。百度了一下重新优化了一下。只要是截屏计算那里。
from pynput import mouse
import pyautogui
from time import sleep
'''启动程序,第一次点击无效,第二次点击鼠标确定区域的左上角位置,
第三次点击鼠标确定区域的右下角位置,
第四次点击确定下一页按钮的位置,
等待5秒后,开始每秒,自动翻页截屏一次。'''
# 初始化一个空列表来存储点击的坐标
click_positions = []
print(click_positions)
def on_click(x, y, button, pressed):
if pressed:
print(f'Clicked at ({x}, {y}) with {button}')
# 将点击的坐标添加到列表中
click_positions.append((x, y))
# 如果列表中有两个坐标,就不再记录更多
if len(click_positions) == 4:
# 停止监听
return False
# 开始监听鼠标事件
print('请开始点击')
with mouse.Listener(on_click=on_click) as listener:
listener.join()
# 打印前两次点击的坐标
if len(click_positions) == 4:
print("First click position:", click_positions)
print("Second click position:", click_positions)
print("Third click position:", click_positions)
print("Fourth click position:", click_positions)
else:
print("Not enough clicks recorded.")
print('等待5秒')
sleep(5)
for i in range(49):
# 获取左上角坐标
top_left_x = click_positions
top_left_y = click_positions
# 获取右下角坐标
bottom_right_x = click_positions
bottom_right_y = click_positions
# 计算宽度和高度
width = bottom_right_x - top_left_x
height = bottom_right_y - top_left_y
# 截取屏幕,参数为截屏区域的左上角坐标和宽高
im = pyautogui.screenshot(
region=(top_left_x,top_left_y,width,height))
# 保存截图到文件
im.save(f'{str(i).zfill(2)}.png')
sleep(1)
# 鼠标左键点击指定坐标的位置,参数为坐标位置
pyautogui.click(x=click_positions, y=click_positions) 求打包版本,我尝试打包,总是出现报错raise Exception(f"Qt plugin directory '{plugin_src_dir}' does not exist!")
Exception: Qt plugin directory 'C:/Users/???/AppData/Local/Programs/Python/Python310/lib/site-packages/PyQt5/Qt5/plugins' does not exist! 拿走谢谢 {:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}{:1_893:}谢谢分享 最喜欢代码分析 又学到了,谢谢分享 水平不够,特地来学习学习,哈哈 我很赞同! 这个以前我也用python写过类似的功能,自动截图全屏,并将截图的文件发到企业微信机器人.{:1_918:} 感谢大佬分享
页:
[1]
2