【问题标题】:XPath to text after inline label?内联标签后的XPath到文本?
【发布时间】:2020-04-13 23:39:08
【问题描述】:

我正在尝试根据帐号“77-3456-07890123”获取 xpath:

<div>
            <input name="personalisedAccountLister:accountRepeater:_ctl0:accountNumberField" type="hidden" id="personalisedAccountLister_accountRepeater_accountNumberField_0" value="7916921" style="">
            <b style="">Name:</b>
            Mr and Mrs Jones<br>
            <b style="">Account Number:</b>
            77-3456-07890123
        </div>

我在下面尝试过,但没有返回任何结果

//b[contains(text(),'77-3456-07890123')]

奇怪的是,这也没有返回任何东西

//*[contains(text(),'77-3456-07890123')]

【问题讨论】:

    标签: html xml xpath


    【解决方案1】:

    假设输入格式正确,

    <div>
        <input name="personalisedAccountLister:accountRepeater:_ctl0:accountNumberField"
               type="hidden" 
               id="personalisedAccountLister_accountRepeater_accountNumberField_0"
               value="7916921" style=""/>
        <b style="">Name:</b>
        Mr and Mrs Jones<br/>
        <b style="">Account Number:</b>
        77-3456-07890123
    </div>
    

    这个 XPath,

    normalize-space(//b[.="Account Number:"]/following-sibling::text()[1])
    

    将返回粗体"Account Number:"标签后面的第一个文本节点的空间标准化字符串值,

    77-3456-07890123
    

    根据要求。

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 2017-01-09
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      相关资源
      最近更新 更多