Найти - Пользователи
Полная версия: как взаимодействовать с окном "Обзор" в браузере
Начало » Центр помощи » как взаимодействовать с окном "Обзор" в браузере
1 2
egorandrew
Добрый день. Занимаюсь автоматизацией процесса тестирования selenium+webdriver на питоне.
При нажатии на кнопку “Обзор” я должен выбрать необходимый документ http://prntscr.com/eqmwdz .
Как взаимодействовать с данным окном? Как данный процесс можно автоматизировать?
Если не совсем понятно, могу дополнить, если будут вопросы.
PEHDOM
Вам нужно автоматизировать взаимодействие с оконом или ввод данных. Что значит “взаимодействовать” в вашем понимании? как вы вызываете это окно?
egorandrew
Данное окно “Выгрузка файла” вызывается кнопкой “Обзор”. Мне нужно автоматизировать выбор файла.
PEHDOM
Уточнение, а поле “путь к файлу” редактируемое? МБ проще сразу туда путь вставлять?
Окно что на скриншоте это стандартный OpenFileDialog типа такого https://msdn.microsoft.com/en-us/library/microsoft.win32.openfiledialog%28v=vs.110%29.aspx
Если всеже поле “путь к файлу” нередактируемое, то вам нужно с помощью win32api или сторонней утилиты типа Autoit получить хендл окна, и дальше пытаться работать с ним.
egorandrew
Да, поле путь к файлу “readonly”. Если даже убрать с html страницы данную опцию (через исходный код страницы) и затем вручную ввести путь к файлу, то выйдет сообщение что не выбран файл
PEHDOM
Тогда Вам нужно сначала инчтрумент типа WinSpy++. Насмотря на название, вполне штатная тулза, идет в комплекте с МСВижуалСтудио. С помощью нее можно определить класс окна, и его элементы, дальше можете брать win32gui или pywinauto получать хендл окна, добираться до нужного поля и вставлять в него нужный вам текст.
egorandrew
вопрос решен, спасибо за советы:
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()
egorandrew
всем привет еще раз, возвращаюсь к этой проблеме еще раз. Для IE данный вопрос остался нерешенным, браузер IE, который запускает webdriver той же версии что и на компьютере, но кнопка “Обзор” не активна и не нажимается, программа видит этот элемент (так как не возникает исключение не найден элемент). Как быть в IE?
PEHDOM
egorandrew
но кнопка “Обзор” не активна и не нажимается
конпка не активна для пользоваетеля? или только для скрипта? мышкой она нажимается?
egorandrew
мышкой также не нажимается. Скрипт ее видит , скорее всего пытается нажать
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB