【问题标题】:Selenium, can't locate an element硒,找不到元素
【发布时间】:2018-06-01 06:56:04
【问题描述】:

<div class="select-organization"><a organization-activate="1">Suresh</a></div>

使用 selenium,我正在尝试定位这个元素,我尝试过 CSS、XPath、链接文本但没有任何帮助

【问题讨论】:

  • 向我们展示元素或url的html文本
  • 你能检查那个元素并提供html代码
  • 检查完整的代码,因为我们不能说元素在框架上

标签: java selenium


【解决方案1】:

请试试这个定位器:- driver.findElement(By.linkText("Suresh"))

【讨论】:

    【解决方案2】:

    您可以使用下面的 CSS 选择器。

    .select-organization > a:nth-child(1)
    

    【讨论】:

      【解决方案3】:

      元素是在列表中还是在选择标签中?然后尝试使用 List 或者可以通过创建 Select 的对象来处理它。这对你有帮助吗?

      【讨论】:

        【解决方案4】:

        元素是否位于 iframe 中?您需要先切换到 iframe,然后才能在其中定位元素。 driver.switchTo().frame("frameid"); driver.findElement(By.xpath("//a[./text='Suresh']));

        【讨论】:

          【解决方案5】:

          使用下面的xpath来匹配锚标签的内部html文本:

          //div[contains(@class,'select-organization')]//text()[contains(., 'Suresh')]
          
          • contains 是一个对字符串进行操作的函数。这里传递了一个单独的文本节点 (.)

          【讨论】:

          • 在我的 mozzilla 的火路中工作,抱歉帮不上忙
          • 也许时间问题,使用一些明确的等待
          【解决方案6】:

          试试这个,

          driver.findElement(By.xpath("//div[@class='select-organization']//a"));
          

          【讨论】:

          • 没用,ERR:线程“main”中的异常 org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“method”:“xpath”,“selector” :"//div[@class='select-organization']//a"}
          • 您确定吗,Web 驱动程序正在查看该元素所在的同一页面,
          • 我很确定
          猜你喜欢
          • 2021-08-17
          • 2020-08-17
          • 1970-01-01
          • 2019-01-24
          相关资源
          最近更新 更多