【问题标题】:XPATH to validate the content of the textXPATH 验证文本的内容
【发布时间】:2018-12-04 12:46:33
【问题描述】:

我有下面的 HTML。

HTML Code: 
<a id="pINumber" href="csf.ajax?et=p.preparationinsurance">PASS170XX</a>

XPATH to identify the above element
//*[@id="pINumber"]

我正在尝试构建一个 XPATH,它可以验证 Text 'PASS' 始终作为 Text in the beginning 出现。在这种情况下,XPATH 会是什么。

在对 XPATH 进行几次搜索后,我可以看到 "substring-after" 可用于执行此操作。但无法准备正确的 XPATH。任何帮助为上述 HTML 构建 XPATH 并带有文本“PASS”作为验证的一部分,我们将不胜感激。

【问题讨论】:

    标签: html selenium dom xpath


    【解决方案1】:

    使用这个 XPath:

    starts-with(a/text(),'PASS')
    

    它检查链接atext() 是否确实以字符序列PASS 开头。在你的情况下,这评估为true

    在整个表达式中,这可以是

    //a[starts-with(text(),'PASS')]
    

    【讨论】:

    • 如果您想检索“PASS”文本的值而不是 xpath?
    • 它会是一样的,可能在末尾有一个/text(),比如//a[starts-with(text(),'PASS')]/text()
    • //a[starts-with(text(),'PASS')]/text() 将返回完整的文本,我只想制作 XPATH,使其返回“170XX” “PASS170XX”
    • 那么表达式可以是substring(//a[starts-with(text(),'PASS')],5)
    • substring(//a[starts-with(text(),'PASS')][1],5) 这样在末尾添加[1] 是否有帮助?
    猜你喜欢
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2015-07-31
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多