Форум сайта python.su
Добрый день. Занимаюсь автоматизацией процесса тестирования selenium+webdriver на питоне.
При нажатии на кнопку “Обзор” я должен выбрать необходимый документ http://prntscr.com/eqmwdz .
Как взаимодействовать с данным окном? Как данный процесс можно автоматизировать?
Если не совсем понятно, могу дополнить, если будут вопросы.
Офлайн
Вам нужно автоматизировать взаимодействие с оконом или ввод данных. Что значит “взаимодействовать” в вашем понимании? как вы вызываете это окно?
[code python][/code]
Отредактировано PEHDOM (Апрель 1, 2017 10:45:30)
Офлайн
Данное окно “Выгрузка файла” вызывается кнопкой “Обзор”. Мне нужно автоматизировать выбор файла.
Офлайн
Уточнение, а поле “путь к файлу” редактируемое? МБ проще сразу туда путь вставлять?
Окно что на скриншоте это стандартный OpenFileDialog типа такого https://msdn.microsoft.com/en-us/library/microsoft.win32.openfiledialog%28v=vs.110%29.aspx
Если всеже поле “путь к файлу” нередактируемое, то вам нужно с помощью win32api или сторонней утилиты типа Autoit получить хендл окна, и дальше пытаться работать с ним.
[code python][/code]
Офлайн
Да, поле путь к файлу “readonly”. Если даже убрать с html страницы данную опцию (через исходный код страницы) и затем вручную ввести путь к файлу, то выйдет сообщение что не выбран файл
Офлайн
Тогда Вам нужно сначала инчтрумент типа WinSpy++. Насмотря на название, вполне штатная тулза, идет в комплекте с МСВижуалСтудио. С помощью нее можно определить класс окна, и его элементы, дальше можете брать win32gui или pywinauto получать хендл окна, добираться до нужного поля и вставлять в него нужный вам текст.
[code python][/code]
Отредактировано PEHDOM (Апрель 3, 2017 14:14:33)
Офлайн
вопрос решен, спасибо за советы:
from pywinauto.application import Application #импорт модуля
app = Application().Connect(title='Выгрузка файла', class_name='#32770') # с помощью Spy++ определил форму
window = app.Dialog
edit = window.Edit
edit.Click() edit.TypeKeys(“C:\\Users\\Roseltort62\\Desktop\\99\\104784003_fcsNotificationEF_0334100000717000009.xml”) # путь до файла
time.sleep(3)
button = window.Открыть
button.Click()
Офлайн
всем привет еще раз, возвращаюсь к этой проблеме еще раз. Для IE данный вопрос остался нерешенным, браузер IE, который запускает webdriver той же версии что и на компьютере, но кнопка “Обзор” не активна и не нажимается, программа видит этот элемент (так как не возникает исключение не найден элемент). Как быть в IE?
Офлайн
egorandrewконпка не активна для пользоваетеля? или только для скрипта? мышкой она нажимается?
но кнопка “Обзор” не активна и не нажимается
[code python][/code]
Офлайн
мышкой также не нажимается. Скрипт ее видит , скорее всего пытается нажать
Офлайн