加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用Selenium Webdriver(java)单击SPAN标签之间的文本

发布时间:2020-12-14 05:08:34 所属栏目:Java 来源:网络整理
导读:HTML代码如下所示: td id="id26a" class="doclisting-name link" style="width: 319px; min-width: 319px;" span id="id26b" title="Document"span class="ie-fallback-marker" words/span/span/td 我不能搜索元素ID,因为它一直在变化.我不能搜索元素的类,
HTML代码如下所示:
<td id="id26a" class="doclisting-name link" style="width: 319px; min-width: 319px;"> 

<span id="id26b" title="Document">
<span class="ie-fallback-marker">
  words

</span></span></td>

我不能搜索元素ID,因为它一直在变化.我不能搜索元素的类,因为可以改变位置的倍数.

我想要能够点击SPAN标签之间的“WORDS”.这是可以吗

这是我到目前为止使用的,但是似乎都没有起作用:

//string document is words.
   public void testscenario123(String document)      throws Throwable {
    Thread.sleep(3000);
    driver.findElement(By.linkText(document)).click();
}

要么

//string document is words.
 public void testscenario124(String document) throws Throwable {
    Thread.sleep(3000);
    driver.findElement(By.xpath("//*[contains(@span,'"+document+"')]")).click();
}

解决方法

您可以通过文本选择xpath,并且标准化空间将剥离空白:
//string document is words.
 public void testscenario124(String document) throws Throwable {
    Thread.sleep(3000);
    driver.findElement(By.xpath("//*[normalize-space()='"+document+"']")).click();
}

您也可以考虑等待该元素出现,而不是声明明确的睡眠

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读