当前位置: 首页 > 知识库问答 >
问题:

XPath仅包含整词

严升
2023-03-14

我看到现有的问题标题相同,但那是一个不同的问题。

假设我想在类中找到具有“conGraph”的元素。我试过了

//div[contains(@class,'conGraph')]

它正确地得到了

<div class='conGraph mr'>

但它也错误地得到了

<div class='conGraph_wrap'>

这根本不是同一个类。仅在这种情况下,我可以使用“conGraph”并摆脱它,但我想知道将来使用的一般解决方案。

简而言之,我想获取类包含“word”的元素,如“word”、“word word2”或“word3 word”等,但不像“word”、“fake_word”或“剑”。这可能吗?


共有1个答案

袁何平
2023-03-14

一种选择是使用4个条件(确切的术语3包含函数并支持空格):

对于第一个条件,可以在属性内容中搜索确切的术语。对于第二个、第三个和第四个,指定所有空格变体。

数据

<div class='word'></div>
<div class='word word2'></div>
<div class='word word3'></div>
<div class='swords word'></div>
<div class='swords word words'></div>
<div class='words'></div>
<div class='fake_word'></div>
<div class='sword'></div>

XPath:

//div[@class="word" or contains(@class,"word ") or contains(@class," word") or contains(@class," word ")]

输出:

<div class='word'></div>
<div class='word word2'></div>
<div class='word word3'></div>
<div class='swords word'></div>
<div class='swords word words'></div>
 类似资料:
  • 在顶级“foo”的范围内找到具有类“bar”的div,其祖先没有类“foo”。例如,

  • 我正在使用selenium在html页面上执行测试。我只能使用xpath来定位元素。我试图创建一个xpath,它允许我定位所有包含文本的div,这样我就可以用findElements保留这些WebElement的引用,不管它是什么,只要它不是空的。所以我有了这个xpath: //div[5]/div/div[2]

  • 使用。但仍不确定为什么上面的方法不起作用。 不管怎样,多亏了之前有人建议这个答案。:)

  • 我的XSLT1.0模板中有两个变量,每个变量包含一个节点集(用xpath选择)。我想确定一个变量中的节点集是否包含在另一个变量中的节点集中。例如,假设我有一个包含嵌套部分的章节。我想看看是否包含在中: 我试图获取节点集的交集,以查看是否是和共享的第一个公共元素,但这不起作用: 添加一些上下文。我正在用这个xslt为html页面树创建一个选项卡式界面,我试图解决的问题是将class=“current

  • 我在编写linq查询时遇到了一些困难,该查询将检查整数中的连续数字是否包含在表的主键中。因此,假设有一个名为的表,其主键位于列上。假设此主键是Sql Server数据类型。我想使用Entity Framework Code First编写一个linq查询,它将返回主键包含字符串456的所有员工 问题是C#中的整数数据类型没有提供Con的方法…

  • 我试图断言一个xml是否包含一个xpath。例如xpath是: 当我检查它https://www.freeformatter.com/xpath-tester.html它成功返回一个元素。 然而,当我尝试使用以下空手道机制时,它失败了: 错误是 我是不是做错了?我正试着跟着这里的医生https://github.com/intuit/karate/blob/master/karate-junit4