XPath к тексту после встроенной метки? - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь получить xpath на основе номера счета "77-3456-07890123":

<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')]

1 Ответ

1 голос
/ 14 апреля 2020

При условии правильного ввода,

<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

по запросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...