selenium 如何使用xpath或css选择器从Span标签中选择元素

rjjhvcjd  于 2023-02-04  发布在  其他
关注(0)|答案(1)|浏览(200)

我正试图自动化过程中ping一个人的信使选择信使的名字(纳扬)
请查找Html代码

<div class="Presence__text">
<span class="Presence__nameText">Nayan<span class="Presence__contactFlagIndicator"></span>

由于span标记内的文本元素是唯一的(Nayan),因此我希望基于该文本元素进行选择。
问题陈述:无法使用span标记中存在的文本选择元素
我想用xpath打开“Nayan”的文本,请问谁能帮我解决这个问题。

iqjalb3h

iqjalb3h1#

XPath可用于根据元素的文本内容定位元素。
根据这里给出的HTML,可以使用以下XPath:

"//span[contains(text(),'Nayan')]"

Selenium命令在Java中使用这个XPath(您没有提到您使用的语言,但是根据您之前的问题,我看到您使用的是Java)可以如下所示:

driver.findElement(By.xpath("//span[contains(text(),'Nayan')]"));

如果“Nayan”文本是唯一的,那么最好使用contains而不是equals方法,因为web元素可能包含额外的空格。
我的意思是,在可能的情况下,[contains(text(),'Nayan')][text()='Nayan']更好用
此外,由于您使用的是Selenium,因此它只能是Xpath 1.0,因为Selenium不支持Xpath 2.0和更高版本,所以它只支持Xpath 1.0

相关问题