selenium点击网站弹出按钮

时间:2013-09-19 06:21:07

标签: c# selenium

在我的c#selenium windows应用程序中,我有一个导入文档的场景。选择文件后,当我点击导入按钮时,它会显示另一个弹出窗口(网站弹出窗口不是窗口)进行确认。我还需要selenium来点击导入,以便上传文件。我可以点击第一个导入按钮。但是我无法点击第二个导入按钮。在通过使用firebug进行调查时,我发现两个按钮都具有相同的属性,如classname,id等。所以我觉得selenium很混乱。 我试过像

driver.switchto().window("Import");

但没有成功..在c#中发现警报,这也没有成功..

如何点击弹出对话框中出现的第二个导入按钮?在调查中我无法找到任何框架,或者两个对话框都有相同的框架。

任何评论都会非常感激..

1 个答案:

答案 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();

这将找到具有相同属性的第二个元素