首页 > 解决方案 > 启动 chromedriver 后,Python 脚本在 CMD 中停止执行

问题描述

该代码在 IDLE 中运行良好,但是当双击文件或从命令行运行时,程序的其余部分似乎不起作用,因为我的键处理程序对按键没有反应。我相信这可能与 chromedriver 接管 cmd 窗口有关,但我对 python 还很陌生,我不确定。附件是代码,它将打开 chromedriver 窗口,而不是绑定在 IDLE 中绑定的按键:

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import Select
import keyboard
from tkinter import *
from tkinter import messagebox

address = {}

chrome_options = webdriver.ChromeOptions(); 
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
chrome_options.add_argument("--disable-extensions")
chromeDriverPath = 'C:/ChromeDriver/chromedriver.exe'

def keyboardHandler(keyboardEvent):
    if keyboardEvent.name == "f7":
        copyAddress(driver)
    elif keyboardEvent.name == "f9":
        paste(driver)

#Script will launch browser when f7 is pressed
keyboard.wait('f7')
driver = webdriver.Chrome(chromeDriverPath, options=chrome_options)
driver.get('http://www.ebay.co.uk/')

keyboard.on_press(keyboardHandler)

标签: pythonseleniumselenium-chromedriver

解决方案


无头/监视器

我不会无头运行,但必须在基于 linux 的系统上运行。在 IDLE 中,将隐式设置显示

os.environ["DISPLAY"] = ":0.0"

推荐阅读