【问题标题】:Selenium FileUpload accept() is not clicking buttonSelenium FileUpload accept() 没有点击按钮
【发布时间】:2018-11-15 06:32:42
【问题描述】:
在 IE 中打开文件选择器对话框,
self.webDiver.switch_to_alert().accept()
尝试了上面的行,但没有点击打开按钮。
IE 版本 11.2580.14393.0;
Windows Server 2016 标准版
显示的对话框是“选择要上传的文件”,该对话框有一个文件名文本框,带有一个 Combobox + Open 按钮以及一个 Open 按钮,它是一个 SplitButtonControl,具有以只读方式打开/打开或另存为的选项以前的版本。
【问题讨论】:
标签:
python-3.x
selenium
selenium-iedriver
iedriverserver
【解决方案1】:
针对用户凭据的 OAuth 或单点登录的 Edge 和 chrome 版本 83 警报是警报的一种特殊情况。
对话框窗口不是浏览器的一部分,它是一个操作系统对话框(此处省略了一些技术细节)并在单独的进程中启动。
我找不到与 Windows Dialog 交互的 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()