本帖最后由 郭大米2010 于 2024-5-7 09:42 编辑
在使用selenium自动学习网课时,为了节省资源以及看起来好看,在Chrome功能中加入了无头模式,opt = webdriver.ChromeOptions() # 创建浏览器
opt.add_argument('--headless')
opt.add_argument('--disable-gpu')
,但是发现有时候鼠标悬停在窗口时,python不往下继续执行了,查询资料后发现是cmd窗口默认会开启快速编辑功能,因此为了方便,使用python加入了禁止快速编辑功能,这样防止命令执行时停止,当然,如果需要输入内容时,可以调用打开,以下是快速编辑代码:def quickedit(enabled): # 这对尝试在Windows中仅启用和禁用快速编辑模式而不禁用其他功能的用户可能会有所帮助。
import ctypes
'''
Enable or disable quick edit mode to prevent system hangs, sometimes when using remote desktop
Param (Enabled)
enabled = 1(default), enable quick edit mode in python console
enabled = 0, disable quick edit mode in python console
'''
# -10 is input handle => STD_INPUT_HANDLE (DWORD) -10 |\
# https://docs.microsoft.com/en-us/windows/console/getstdhandle
# default = (0x4|0x80|0x20|0x2|0x10|0x1|0x40|0x200)
# 0x40 is quick edit, #0x20 is insert mode
# 0x8 is disabled by default
# https://docs.microsoft.com/en-us/windows/console/setconsolemode
kernel32 = ctypes.windll.kernel32
if enabled == 1:
kernel32.SetConsoleMode(kernel32.GetStdHandle(-10), (0x4 | 0x80 | 0x20 | 0x2 | 0x10 | 0x1 | 0x40 | 0x100))
print("Console Quick Edit Enabled")
elif enabled == 0:
kernel32.SetConsoleMode(kernel32.GetStdHandle(-10), (0x4 | 0x80 | 0x20 | 0x2 | 0x10 | 0x1 | 0x00 | 0x100))
print("Console Quick Edit Disabled")
##只需禁用0x40标志即可快速编辑
|