Selenium FileUpload accept() не нажимает кнопку

Открыв диалог выбора файлов в IE,

self.webDiver.switch_to_alert().accept()

Пробовал вышеуказанную строку, но не нажимает кнопку открытия.

IE Версия 11.2580.14393.0;

Windows Server 2016 Standard

Появится диалоговое окно "Выберите файл для загрузки", в этом диалоговом окне есть текстовое поле "Имя файла" с кнопкой "Combobox + Открыть", а также кнопка "Открыть", которая представляет собой SplitButtonControl с параметрами "Открыть / Открыть только для чтения" или сохранить как предыдущую версию.

1 ответ

Решение

Текущий обходной путь заключается в использовании uiautomation:

import uiautomation as automation

print(automation.GetRootControl())
uiWindow = automation.WindowControl(searchDepth = 2, Name = 'Choose File to Upload')
print(uiWindow.Name)
uiWindow.SetTopmost(True)
fileName = uiWindow.EditControl(searchDepth = 4,Name = 'File name:')
fileName.SendKeys("State of testing.MicroFocus.pdf")
openFile = uiWindow.SplitButtonControl(searchDepth = 3,Name = 'Open')
openFile.Click()

Источник: https://github.com/SeleniumHQ/selenium/issues/6140

Другие вопросы по тегам