Уведомления

Группа в Telegram: @pythonsu

#1 Март 31, 2017 10:14:43

egorandrew
Зарегистрирован: 2017-03-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

Добрый день. Занимаюсь автоматизацией процесса тестирования selenium+webdriver на питоне.
При нажатии на кнопку “Обзор” я должен выбрать необходимый документ http://prntscr.com/eqmwdz .
Как взаимодействовать с данным окном? Как данный процесс можно автоматизировать?
Если не совсем понятно, могу дополнить, если будут вопросы.

Офлайн

#2 Апрель 1, 2017 10:44:55

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

Вам нужно автоматизировать взаимодействие с оконом или ввод данных. Что значит “взаимодействовать” в вашем понимании? как вы вызываете это окно?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Апрель 1, 2017 10:45:30)

Офлайн

#3 Апрель 2, 2017 08:50:42

egorandrew
Зарегистрирован: 2017-03-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

Данное окно “Выгрузка файла” вызывается кнопкой “Обзор”. Мне нужно автоматизировать выбор файла.

Офлайн

#4 Апрель 2, 2017 09:13:39

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

Уточнение, а поле “путь к файлу” редактируемое? МБ проще сразу туда путь вставлять?
Окно что на скриншоте это стандартный OpenFileDialog типа такого https://msdn.microsoft.com/en-us/library/microsoft.win32.openfiledialog%28v=vs.110%29.aspx
Если всеже поле “путь к файлу” нередактируемое, то вам нужно с помощью win32api или сторонней утилиты типа Autoit получить хендл окна, и дальше пытаться работать с ним.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Апрель 2, 2017 10:13:18

egorandrew
Зарегистрирован: 2017-03-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

Да, поле путь к файлу “readonly”. Если даже убрать с html страницы данную опцию (через исходный код страницы) и затем вручную ввести путь к файлу, то выйдет сообщение что не выбран файл

Офлайн

#6 Апрель 3, 2017 14:14:13

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

Тогда Вам нужно сначала инчтрумент типа WinSpy++. Насмотря на название, вполне штатная тулза, идет в комплекте с МСВижуалСтудио. С помощью нее можно определить класс окна, и его элементы, дальше можете брать win32gui или pywinauto получать хендл окна, добираться до нужного поля и вставлять в него нужный вам текст.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Апрель 3, 2017 14:14:33)

Офлайн

#7 Апрель 12, 2017 18:19:15

egorandrew
Зарегистрирован: 2017-03-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

вопрос решен, спасибо за советы:
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()

Офлайн

#8 Май 18, 2017 10:49:23

egorandrew
Зарегистрирован: 2017-03-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

всем привет еще раз, возвращаюсь к этой проблеме еще раз. Для IE данный вопрос остался нерешенным, браузер IE, который запускает webdriver той же версии что и на компьютере, но кнопка “Обзор” не активна и не нажимается, программа видит этот элемент (так как не возникает исключение не найден элемент). Как быть в IE?

Офлайн

#9 Май 18, 2017 13:56:29

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

egorandrew
но кнопка “Обзор” не активна и не нажимается
конпка не активна для пользоваетеля? или только для скрипта? мышкой она нажимается?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#10 Май 19, 2017 09:17:30

egorandrew
Зарегистрирован: 2017-03-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как взаимодействовать с окном "Обзор" в браузере

мышкой также не нажимается. Скрипт ее видит , скорее всего пытается нажать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version