我搜索了 StackOverflow 并找不到以下问题的正确解决方案:
在内部 Sharepoint 站点中,单击 Upload,然后单击 Folders,我使用 SendKeys.SendWait 输入目录位置。然后将“Enter”作为 Send.Keys.SendWait 发送后,会出现一个对话框,我需要在其中单击 Upload 按钮,但该元素不可搜索,因为它似乎不是 DOM 的一部分。
这是代码片段:
SendKeys.SendWait(@"C:\Automation\Testing\");
SendKeys.SendWait("{Enter}");
SendKeys.SendWait("{Enter}");
IAlert alert = Driver.driver.SwitchTo().Alert();
alert.Accept();
我也尝试使用 JavaScript 来处理这个问题,但它没有帮助:
IJavaScriptExecutor jsX = (IJavaScriptExecutor)driver;
jsX.ExecuteScript("Object.defineProperty(BeforeUnloadEvent.prototype,
'returnValue', { get:function(){}, set:function(){} });");
在另一个线程中,我注意到添加“--disable-notifications”和“--disable-popup-blocking”的建议,但这也不起作用。
这是代码:
ChromeOptions options = new ChromeOptions();
options.AddArguments("disable-infobars", "start-maximized", "no-sandbox", "--disable-notifications", "--disable-popup-blocking");
Driver.driver = new ChromeDriver(options);
在对话框中找到并单击“上传”的最佳方法是什么?