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

用br从文本中查找xpath

赵鸿畴
2023-03-14

我有这个html代码

<div>
  <span>test</span>
  foo
  <br />
  bar
</div>
//div/text() = foo bar
//div/text()[1] = foo
//div/text()[2] = bar
//div[text()[1] = foo] = the div
//div[text()[2] = bar] = nothing

任何人都知道如何从文本中获得div,如果可能的话,不要使用contains,因为它们不准确。

谢谢你。

共有1个答案

鲁博雅
2023-03-14

您可以尝试使用下面的XPath表达式根据其文本匹配所需的div

//div[normalize-space()="test foo bar"]

请注意,删除空白的函数实际上名为normalize-space(),而不是sanitize-space()

更新

如果只想使用“foo”“bar”文本节点,请尝试

//div[concat(normalize-space(text()[2]), normalize-space(text()[3]))="foobar"]')

或者是否单独使用它们

//div[normalize-space(text()[2])='foo' and normalize-space(text()[3])='bar']
 类似资料:
  • 错误:NoSuChelementException:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“//td[@class='c($PrimaryColor)W(51%)']”}(会话信息:chrome=77.0.3865.120) 我的代码如下: 这是我试图从“https://finance.yahoo.com/quote/goog?p=goog”中搜索

  • 问题内容: 我有一个大约40万行的文本文件。我需要将此文本文件导入一个程序,该程序仅接受以空格或制表符分隔的文本文件,但是此文本文件以分号分隔。我要从(Arcmap)导出文本文件的程序中没有选项来更改分隔,并且在文本文件本身中进行查找和替换实际上需要2天。 我已经搜索了一个脚本来执行此操作,但是它们似乎都用空格替换了单词文件的整个LINE,而不是单独替换了每个分号,而给我留了一个空的文本文件。 这

  • 问题内容: 我正在尝试从两个数组中查找公用名称文件。我将两个不同文件夹的文件名保存在两个不同的数组中。 现在,我正在创建一个通用文件数组,其中将包含具有通用名称的文件。 filenames 1:包含文件夹1中文件的名称的数组。 filename 2:包含文件夹2中文件名的数组。 我写了这段代码,但是编译器给出了这个错误: PS:我是新手… 问题答案: 如果是您不能使用method 。 您需要使用来

  • 问题内容: 给定如下所示的XML: 如何使用ElementTree及其对XPath的支持将元素与内容A匹配?谢谢 问题答案: AFAIK ElementTree不支持XPath。它改变了吗? 无论如何,您可以使用lxml和以下XPath表达式: 结果将是:

  • 我在pager类中找到了元素, 也试过这个,在chrome中它用黄色标记我需要的东西,但selenium驱动程序找不到

  • 当我检查doc_text字符串时,我可以看到“{Today}”,但“{ConsultantName}”被拆分为多个运行。开始大括号和结束大括号不与单词放在一起--它们之间有XML标记: 代码