0

在我的 c# selenium windows 应用程序中,我有一个导入文档之类的场景。选择文件后,当我单击导入按钮时,它将显示另一个弹出窗口(网站弹出窗口不是窗口)以进行确认。我还需要 selenium 来单击导入,以便上传文件。我可以点击第一个导入按钮。但我不能点击第二个导入按钮。在通过使用萤火虫进行调查时,我可以发现两个按钮都具有相同的属性,如类名、id 等..所以..我认为 selenium 很困惑。我试过了

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

但不成功..在c#中尝试过警报,也没有成功..

如何让 selenium 单击弹出对话框中的第二个导入按钮?在调查中,我找不到任何框架或两个对话框都具有相同的框架。

任何意见将不胜感激..

4

1 回答 1

0

如果导入按钮具有相同的属性,则只需查找父元素。作为变体,您可以获取父元素,然后在此元素中找到 Import 按钮

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

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

于 2013-09-19T14:48:09.650 回答