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