【问题标题】:Cannot click an icon within a div. Selenium Java无法单击 div 中的图标。硒Java
【发布时间】:2018-12-18 06:55:50
【问题描述】:

代码找不到这个图标,我必须点击它,我只是注意到它在一个 div 中。这是我的示例代码:

findLink(By.xpath("//div[@aria-label='Dashlet Actions' and contains(@ng-click,'updateActionMenu')]")).click

请查看图片了解更多信息

【问题讨论】:

    标签: java selenium xpath automation krypton


    【解决方案1】:

    要单击所需的元素,您可以使用以下解决方案:

    • css:

      findLink(By.css("button.btn.btn-link[aria-label='Dashlet Actions']")).click
      
    • XPath:

      findLink(By.xpath("//button[@class='btn btn-link' and @aria-label='Dashlet Actions']")).click
      

    注意:该元素是Angular 元素,因此您必须诱导ExplicitWait 才能使所需的元素可点击

    【讨论】:

    • 控制台中的 WaituntilPresent" 仍然会出现错误。这意味着它找不到元素
    • 查看我的答案更新并让我知道状态
    • 它现在可以工作了!!谢谢!只需要使用 by.cssSelector 而不是 cs。非常感谢!!!
    • 想问是否有可能在 selenium 中使用屏幕截图脚本?
    • 粗略的可以写一个截图脚本。但由于这将是一个不同的主题,您可能需要针对您的新要求提出一个新问题。 StackOverflow 贡献者将很乐意为您提供帮助。
    【解决方案2】:

    使用css选择器点击。

    driver.findElement(By.cssSelector(".btn.btn-link")).click();
    

    【讨论】:

    • 它正在工作!但是 btn btn-link 类不是唯一的,是否可以使用 CSS 选择器为其使用 aria-label 标记?
    猜你喜欢
    • 1970-01-01
    • 2013-12-01
    • 2018-11-21
    • 1970-01-01
    • 2020-12-05
    • 2016-08-23
    • 2020-05-20
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多