Отправить ключи в фоновое окно / приложение (Python) - PullRequest
0 голосов
/ 27 апреля 2020

В настоящее время я работаю над программой Selenium, для которой требуется открыть системный диалог выбора файлов. К сожалению, это невозможно обойти, просто отправив ключи к атрибуту веб-страницы, так как мне нужно выбрать кнопку без принятия файла, которая автоматически открывает диалог выбора файла.

Я считаю, что единственное решение - это отправить ключи через саму систему в селектор файлов. К сожалению, метод, который я сейчас использую (см. Ниже), требует, чтобы окно было активным для получения ключей.

Я использовал библиотеку pynput для отправки ключей на моей первой итерации. Документацию по pynput для клавиатур можно найти здесь: https://pynput.readthedocs.io/en/latest/keyboard.html

from pynput.keyboard import Key, Controller
import os, time

file = "723583.jpg" #this is a local directory file
keyboard = Controller()
keyboard.type(os.path.abspath(file))
time.sleep(5) #Please ignore the bad style of using these sleeps
keyboard.press(Key.enter) #They're just for testing
time.sleep(3)
keyboard.press(Key.enter)
time.sleep(3)

По другим вопросам Stackoverflow я нашел решения для компьютеров Windows (например, с использованием win32), хотя Мне не удалось найти что-либо для MacOS, которое я сейчас использую, или эквивалентного многоплатформенного решения. Кто-нибудь знает, как я могу отправлять ключи в фоновое приложение как таковое?

...