【问题标题】:span class locator is not visible/clickable - seleniumspan 类定位器不可见/不可点击 - selenium
【发布时间】:2017-11-08 18:25:16
【问题描述】:

下面是 span 的 HTML:

<td class="header-logout-btn">
 <a href="logout.htm" class="btn switch-btn">
  <i class="fa fa-times"></i><span class="hidden-xs">Home</span>
 </a>
</td>

试过了:

driver.findElement(By.linkText("HOME"));
driver.findElement(By.xpath("//div[@class="header-logout-btn"]/span[@class="hidden-xs"]));
driver.findElement(By.xpath("//span"));
driver.findElement(By.className("hidden-xs"));

【问题讨论】:

  • 正如类名本身所提到的,它是隐藏的,所以我们不能与之交互。我们需要在之前通过鼠标悬停到父元素使其可见
  • 试试 - driver.findElement(By.xpath("//span[contains(text(), 'Home')]"))

标签: java html selenium selenium-webdriver


【解决方案1】:

尝试以下解决方案:

Xpath=//*[contains(text(),'Home')]

希望对你有帮助。

【讨论】:

    【解决方案2】:

    通常,注销按钮将是子菜单,或者只有在您单击或将鼠标悬停在主菜单上时它才会可见,通常主菜单是配置文件图标。我假设此注销按钮仅在单击主/配置文件按钮后可见。这可能是按钮被隐藏或不可点击的原因。解决方案如下。 1. 首先单击或鼠标悬停在主/配置文件菜单上,然后单击注销按钮。 2.你仍然想点击隐藏按钮。您可以尝试使用下面给出的 JavaScript 执行器。

    Webelement eleLogout=driver.find element(By.class name("switch-btn"));
    JavaScriptExecutor js=(JavaScriptExecutor)driver;
    js.executeScript("arguments [0].click()",eleLogout);`
    

    【讨论】:

      【解决方案3】:

      尝试点击链接。

      使用如下选择器:

      xpath: //a[contains(@href, 'logout')]
      //*[@class='header-logout-btn']/a[contains(@href, 'logout')]

      css:
      a[href*=logout]
      .header-logout-btn a[href*=logout]

      【讨论】:

        猜你喜欢
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 2021-10-18
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 2018-01-05
        • 2013-12-26
        相关资源
        最近更新 更多