在我的c#selenium windows应用程序中,我有一个导入文档的场景。选择文件后,当我点击导入按钮时,它会显示另一个弹出窗口(网站弹出窗口不是窗口)进行确认。我还需要selenium来点击导入,以便上传文件。我可以点击第一个导入按钮。但是我无法点击第二个导入按钮。在通过使用firebug进行调查时,我发现两个按钮都具有相同的属性,如classname,id等。所以我觉得selenium很混乱。 我试过像
driver.switchto().window("Import");
但没有成功..在c#中发现警报,这也没有成功..
如何点击弹出对话框中出现的第二个导入按钮?在调查中我无法找到任何框架,或者两个对话框都有相同的框架。
任何评论都会非常感激..
答案 0 :(得分:0)
如果“导入”按钮具有相同的属性,则只需查找父元素。作为变体,您可以获取父元素,然后在此元素中找到导入按钮
driver.FindElement(By.Id("parentId")).FindElement(By.ClassName("Import"));
或者您可以使用XPath
driver.FindElement(By.XPath("//*[@id='parentId']//*[@class='Import']"));
(只需使用所需的定位器类型)
还有一种不推荐的方法:
driver.FindElements(By.ClassName("Import"))[1].Click();
这将找到具有相同属性的第二个元素