【问题标题】:Node.js Selenium can't find element. No such element errorNode.js Selenium 找不到元素。没有这样的元素错误
【发布时间】:2017-06-08 09:12:46
【问题描述】:

所以我有这个元素:

<a href="/my_sites"></a>

我就是找不到,试过了

driver.findElement(webdriver.By.partialLinkText('my_sites')).click();

但这不会引发这样的元素错误

【问题讨论】:

    标签: node.js selenium


    【解决方案1】:

    我相信通过部分链接文本选择会搜索可见文本(打开和关闭标签之间的文本)而不是 href。由于您在 a 标签中没有文本,因此找不到它。您必须使用 xpath 找到类似 "//a[contains(href, 'my_sites')]"

    【讨论】:

      【解决方案2】:

      对于 selenium 链接文本是您在 HTML 括号之间找到的内容,例如:

      <a href="/my_sites">LinkText</a>
      

      您可以尝试通过 CSS 选择器进行选择:

      driver.findElement(By.cssSelector("a[href*='my_sites']")).click();
      

      查看此链接了解更多信息:

      How to click a link whose href has a certain substring in Selenium?

      【讨论】:

      • driver.findElement(By.css("a[href*='my_sites']")).click();我将 cssSelector 更改为 css 否则我收到错误但仍然说无法找到元素..也许有某种时间安排?我的意思是它可能会在页面加载之前寻找元素?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 2021-07-07
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多