Python скрипт перестает выполняться в CMD после запуска chromedriver - PullRequest
0 голосов
/ 09 июля 2020

Код отлично работает в 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)

1 Ответ

0 голосов
/ 09 июля 2020

headless / monitor

Я не работаю без головы, но на системах на базе linux я должен. В режиме IDLE дисплей будет настроен неявно

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