单击 MS Edge 中的文件资源管理器“浏览”按钮后,Selenium 会离开控制权。这在 Chrome 和 Firefox 中运行良好,但绝对阻止在代码中运行下一步。我通过所有可能的方式尝试了代码,下面的代码可以点击浏览按钮,但是在这一步之后硒离开了控制,因为文件资源管理器窗口打开了。这是 Selenium 或 MS Edge 驱动程序问题吗?
脚步:
1. Open ajax web application through MS Edge (works)
2. Click to browse button through web driver core or java script method (works)
3. Selenium gone, leaves control till we close file explorer button (doesn't work) - this works fine in GC and FF.
4 (Blocked). Send key to type file name or implement AutoIt script (works)
5 (Blocked). Click to open button via AutoIt script (works)
6 (Blocked). File attached fine (works)
工作代码:
driver.findElement(By.id("browseID")).click();
和
WebElement we = null;
((JavascriptExecutor)ClientSessionFactory.session().webDriver()).executeScript("document.getElementsByName('browseName')[0].click()", we);
环境:
Selenium version - Latest 3.6.0
Browser - MS Edge
MS Edge Driver - Latest Release 15063
Application type - Ajax web
这实际上阻止了附件功能,如果 selenium 能解决这个问题,那就太好了。到目前为止,我只看到 Autoit 是作为第 3 方软件的解决方案,但是为应用程序中的每个浏览按钮添加单独的脚本非常繁琐,由于操作系统对话框的出现,任何由 selenium 块编写的代码。