Selenium FileUpload accept() 不是点击按钮

Selenium FileUpload accept() is not clicking button

在 IE 中打开文件选择器对话框,

self.webDiver.switch_to_alert().accept()

尝试了上面的行但没有点击打开按钮。

IE Version 11.2580.14393.0;

Windows Server 2016 Standard

显示的对话框是“选择要上传的文件”,该对话框有一个带有组合框 + 打开按钮的文件名文本框以及一个打开按钮,它是一个 SplitButtonControl 选项 Open/Open只读或保存为以前的版本。

Edge 和 chrome 针对 OAuth 或单点登录用户凭据的 83 版警报是警报的特例。

对话框 window 不是浏览器的一部分,它是操作系统对话框(此处忽略了一些技术细节)并在单独的进程中启动。

我找不到与 Windows 对话框交互的 Selenium 方法,因此使用 python uiautomation for windows 代替:

window2 = uiautomation.WindowControl(searchDepth=1, ClassName='Credential Dialog Xaml Host')
window2.SetActive()
window2.SendKeys('username{TAB}password')
window2.ButtonControl(searchDepth=10, Name='OK').Click()