Как сфокусироваться на окне с python? - PullRequest
0 голосов
/ 06 мая 2020

Я пишу код python, который позволяет пользователю отмечать текст с веб-сайта, а затем вставлять его в текстовый документ. Я использую pyauto gui и win32clipboard.

Итак, вот поток - 1. пользователь находит интересную строку на веб-сайте. 2. пользователь отмечает желаемый текст. 3. пользователь запускает сценарий python (я не хочу, чтобы python выполнялся постоянно, только когда его попросят). 4. python использует pyauto gui для копирования текста (ctrl + c), а затем win32clipboard. 5. python записывает скопированный текст в файл do c.

На данный момент единственная проблема, с которой я столкнулся, - это переход с 3 на 4. Проблемы следующие:

а) когда я пытаюсь запустить python из cmd, горячая клавиша ctrl c останавливает скрипт (прерывание клавиатуры). Как я могу это преодолеть?

б) как заставить скрипт запускаться на текущем сайте? как мне вернуть фокус в это окно? на данный момент я запускаю сценарий в Pycharm, и он работает, но я хочу, чтобы он запускался во «внешнем мире»!

Заранее спасибо, Карин: -)

PS - это код, который я пытаюсь запустить.

--getting the url

pyautogui.hotkey("Ctrl","f")
time.sleep(.01)
pyautogui.hotkey("Ctrl","c")
time.sleep(.01)
win32clipboard.OpenClipboard()
url = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()

--- getting the marked text

pyautogui.hotkey("Ctrl","c")
time.sleep(.01)
win32clipboard.OpenClipboard()
text = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()

1 Ответ

0 голосов
/ 16 мая 2020

Что ж, после долгих исследований я нашел очень простое решение проблемы - использование time.sleep (). За это время пользователь может переключиться в желаемое окно, и код работает нормально: -)

...