【问题标题】:Unable to find web element in Span Tag无法在 Span 标记中找到 Web 元素
【发布时间】:2018-03-26 05:24:58
【问题描述】:

我的 html 中有以下内容:

<span class="login-link">Log in</span>

我有以下代码:

driver.findElement(By.cssSelector("#login > span")).click();

我尝试了xPathcssSelectorid,但似乎没有任何效果。

你能帮忙吗?

【问题讨论】:

  • 你的意思是似乎没有任何工作?分享异常日志
  • 分享所有用于构建选择器的 html。
  • 我假设你有登录 div 和 id 登录,你正在尝试使用它来引用它的第一个元素
  • 发布您的完整 html。其他同行审查和理解您的问题会很容易理解
  • 谢谢大家。我只是忽略了添加隐式等待。现在工作正常!这么简单的事情我忘了。很抱歉打扰您宝贵的时间..

标签: java css selenium xpath selenium-webdriver


【解决方案1】:

你可以使用这个 xpath :- driver.findElement(By.xpath("//span[text()='Log in']")).click();

【讨论】:

    【解决方案2】:

    您也可以使用类选择器来选择您的元素。

    试试这个:

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

    hash (#) 用于在 css js 中引用 id。您必须使用 dot(.) 来直接引用元素。

    【讨论】:

      【解决方案3】:

      根据您共享的 HTML 和您的 代码试用版,您可以使用任一代码行来查找 &lt;span&gt; 标记:

      • cssSelector

        driver.findElement(By.cssSelector("#login > span.login-link")).click();
        
      • xpath

        driver.findElement(By.xpath("span[@class='login-link' and contains(.,'Log in')]")).click();
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-31
        • 2020-08-28
        • 1970-01-01
        • 2018-08-01
        • 1970-01-01
        • 2021-08-09
        • 2021-11-13
        • 2016-04-02
        相关资源
        最近更新 更多