Метод SendKeys для AutoIT, сценарий оболочки или pywinauto lib не работает

Сценарий – это то, что я хочу обрабатывать IE всплывающих в robot framework с помощью python. Чтобы обрабатывать всплывающие окна, я использовал AutoIT SendKeys, скрипт оболочки, pywinauto TypeKeys. Код работает правильно при запуске на локальном компьютере, но когда я запускаю скрипт через город команды на машине-агенте, он не работает. Мое наблюдение заключается в том, что на машине-агенте код не работает, чтобы обрабатывать окна.

После анализа я обнаружил, что это связано с тем, что агент-агент работает как заблокированная система во время запуска скрипта через город команды.

Код:

def fhandle_savepopup(self): shell = win32com.client.Dispatch("WScript.Shell") seleniumLib = BuiltIn().get_library_instance('Selenium2Library') shell.AppActivate ("Internet Explorer") sleep(2) autolib = BuiltIn().get_library_instance('AutoItLibrary') shell.SendKeys('{F6}') sleep(3) shell.SendKeys('{TAB}') sleep(3) shell.SendKeys('{ENTER}') 

Я тоже использовал AutoIT и pywinauto lib. Но не повезло.

Пожалуйста, помогите мне найти решение для этого.

One Solution collect form web for “Метод SendKeys для AutoIT, сценарий оболочки или pywinauto lib не работает”

Вам нужно держать рабочий стол открытым и не заблокированным (его можно решить, установив автоматический вход в систему + сеанс VNC, например TightVNC). Для TightVNC вам также может потребоваться обновление драйверов видеокарты и установка пользовательского разрешения (например, в панели управления NVIDIA). Конечно, этот узел должен быть подключен к главному узлу Team City с этого открытого рабочего стола (а не как сервис).

Другой вариант – щелкнуть кнопки окна молча (без реальной эмуляции ввода пользователя). В pywinauto это можно сделать, используя Click() ( ClickInput() более реалистично и не будет работать для заблокированной системы):

 app.Window_(title="Popup title").Wait('visible', timeout=10) app.Window_(title="Popup title").OK.Click() 

PS TypeKeys() также работает как реальный пользовательский ввод. У нас есть планы по внедрению тихой версии ( SendChars ) с использованием окна сообщения WM_CHAR которое может сработать для вас. Но выпуск pywinauto 0.6.0 в настоящее время находится в глубоком повторном факторинге. Поэтому он может быть выпущен в апреле или даже мае, но с большой поддержкой WPF.

  • Python Selenium не запускает событие Javascript
  • Принудительное селение приостановить и ждать, пока поле будет доступно
  • доступ к веб-элементам селена с помощью python
  • Python Selenium Webdriver - попробуйте исключить цикл
  • Кнопка «Радио» не нажата в Selenium / Python
  • не удалось установить настройки профиля Firefox с помощью Selenium (geckodriver 0.16)
  • Python Selenium Safari, отключить ведение журнала
  • Невозможно определить функциональность move_to_element для веб-сервера python selenium
  •  
    Interesting Posts for Van-Lav

    Проблемы PATH с установленными на домашнем компьютере Python 2 и Python 3 на OSX

    «Объекты TypeError: DataFrame изменяемы, поэтому они не могут быть хэшированы» при сортировке индекса dataframe pandas

    Общие методы в python

    Что такое pythonic способ проверки, является ли объект списком?

    SMTP отправил почту многим получателям, но не получил ее

    Выполнение задачи Сельдерея при невозможности импортировать эту задачу

    (Python) Используйте локальную библиотеку вместо ее установки

    Как открыть защищенный паролем файл excel с помощью python?

    Сортировка в python – как отсортировать список, содержащий буквенно-цифровые значения?

    Анимация, основанная только на обновлении цветов в сюжете

    Есть ли простой способ изменить столбец да / нет на 1/0 в кадре данных Pandas?

    Использование динамических данных для графиков

    Как заставить PyCharm IDE выполнить завершение кода для подмодулей pygame?

    Python: необязательные аргументы argparse без тире

    Невозможно вручную закрыть окно графика matplotlib

    Python - лучший язык программирования в мире.