Не удается найти элемент с помощью normalize-space (text ()) - PullRequest
0 голосов
/ 30 марта 2020

У меня проблемы с поиском следующего элемента с этим xpath //label[normalize-space(text())='F. nacimiento:'] HTML DOM Зеленый элемент - это элемент, который я хочу найти, используя предыдущее выражение. Я смог найти красный элемент с //label[normalize-space(text())='Servicio Decesos:'] и любым другим элементом того же типа.

Я пытался использовать //label[text()=' F. nacimiento:'] и работает нормально, но я использую al oop и шаблон //label[normalize-space(text())=' + foobar + '], чтобы идентифицировать остальную часть элемента.

Я предполагаю, что в этой текстовой строке есть какой-то символ, отличающийся от пробела или что-то в этом роде, но я понятия не имею, как это проверить.

Есть ли способ узнать, что возвращает normalize-space, чтобы использовать его для идентификации элемента?

У меня есть другой шаблон для идентификации элементов, но я довольно упрям, и это это хороший шанс узнать что-то новое, что может пригодиться в будущем для решения подобных проблем.

Я скачал код html по запросу: Вот красный фрагмент

<div class="sis-frame-bg">
        <table class="wideBox" align="center" cellpadding="2" cellspacing="0">
            <tbody>
                <tr>
                    <th width="20%" align="right">
                        <label for="DTRIES_CODZONA">
                            <span class="sis-important">*</span> Código postal:</label>
                    </th>
                    <td><input name="nombdato_CODZONA_1" type="text" id="DTRIES_CODZONA" size="8" maxlength="8" onblur="seccionDecesos();" value="" data-regexp="_codigoPostal" autocomplete="off"></td>
                </tr>
                <tr>
                    <th width="20%" align="right">
                        <label for="DTRIES_SERVICOD">
                            <span class="sis-important">*</span> Servicio decesos:</label>
                    </th>
                        <td>
                            <select name="nombdato_SERVICOD_1" id="DTRIES_SERVICOD" onchange="seccionDescricionServicio();" data-name="Servicio decesos" data-obligatorio="true" data-regexp="_cadena">
                                <option selected="selected" value="" title="Elegir"> Elegir</option> 
                            </select>
                        </td>
                </tr>
                <tr>
                    <th colspan="2" align="left">
                        <div id="datosServicioDecesos">
                            <!-- ASI261 -->
                            <!-- ASI261 -->
                        </div>
                    </th>
                </tr>
            </tbody>
        </table>
    </div>

И зеленый фрагмент

<table class="wideBox" cellspacing="0" cellpadding="2" align="center">
                    <tbody>
                        <tr>
                            <th align="right">
                                <label for="ASEG_FECHNACI">
                                    <span class="sis-important">*</span> F. nacimiento:</label>
                            </th>
                            <td>
                                <input id="ASEG_FECHNACI" name="fechnaci" type="text" maxlength="10" size="12" class="js-popUpCalendar js-dateformat hasDatepicker" onblur="formatoFecha(this);" data-name="FECHA DE NACIMIENTO ASEGURADO" data-obligatorio="true" title="" value="" data-regexp="_fecha" autocomplete="off">
                                <img class="ui-datepicker-trigger" src="./ico_calendar.png" alt="..." title="...">
                            </td>
                        </tr>   
                    </tbody>
                </table>

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете использовать ниже xpath.

//label[normalize-space(.)='* F. nacimiento:']

Снимок экрана

enter image description here

...