郭大米2010 发表于 2024-5-7 09:40

关于python命令行窗口会暂停执行的问题

本帖最后由 郭大米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标志即可快速编辑

三滑稽甲苯 发表于 2024-5-7 12:04

可以直接换个终端软件

qq838524191 发表于 2024-5-7 11:15

看不懂python{:301_996:}

郭大米2010 发表于 2024-5-7 11:22

qq838524191 发表于 2024-5-7 11:15
看不懂python

python相对于其他语言还是好懂一些的:lol

FCGkitty 发表于 2024-5-7 12:05

哪个平台的,学习一下

xiaopo 发表于 2024-5-7 12:51

python太强大了
页: [1]
查看完整版本: 关于python命令行窗口会暂停执行的问题