【问题标题】:Dropdown selector in selenium Automationselenium 自动化中的下拉选择器
【发布时间】:2022-01-06 03:58:30
【问题描述】:

您好,我做了一个脚本来登录 github.com 和下拉菜单,然后我需要从下拉菜单中选择退出选项。我尝试使用 class 名称和 xpath 均无效。

选择下拉菜单的代码。

driver.findElement(By.xpath("/html/body/div[1]/header/div[7]/details/summary/span[2]")).click();

在下拉菜单中选择退出选项的代码

driver.findElement(By.xpath("/html/body/div[1]/header/div[7]/details/summary/span[2]")).click();

直到下拉菜单起作用,后来在下拉菜单中选择不起作用。

【问题讨论】:

    标签: selenium automation


    【解决方案1】:

    driver.findElement(By.xpath("/html/body/div[1]/header/div[7]/details/summary/span[2]")).click();

    您所指的元素不属于 退出 按钮。请使用任何一种元素。

    driver.findElement(By.xPath("//button[@class='dropdown-item dropdown-signout']")).click();
    

    driver.findElement(By.cssSelector("button[class*='dropdown-item dropdown-signout'")).click();
    

    退出按钮的类名是复合类名,所以不能直接与By.className一起使用。如果你使用 selenium 中不允许复合类名,那么你会遇到CompoundClassException

    【讨论】:

      【解决方案2】:

      您可以使用特定文本(例如“退出”)来代替使​​用类名。 那么您点击退出按钮的代码可能是这样的:

      driver.findElement(By.xPath("//button[contains(text(),'Sign out')]")).click();
      

      【讨论】:

        猜你喜欢
        • 2013-03-31
        • 1970-01-01
        • 2018-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多