【问题标题】:selenium to click on a website popup buttonselenium 点击网站弹出按钮
【发布时间】:2013-09-19 22:48:09
【问题描述】:

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

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

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

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

任何 cmets 将不胜感激..

【问题讨论】:

    标签: c# selenium


    【解决方案1】:

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

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

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

    【讨论】:

    • 但是..在分析html格式时,似乎将按钮导入定义为表格行和列。此外,两个按钮都具有相同的父元素和相同的属性。我现在如何跨越这个边界?
    • 我尝试了您不推荐的方法..在我的情况下似乎效果很好...感谢您的解决方案...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多