无法使用normalize-space(text())找到元素

问题描述 投票:0回答:1

我在使用此xpath //label[normalize-space(text())='F. nacimiento:']查找以下元素时遇到问题HTML DOM绿色元素是我想使用上一个表达式定位的元素。我可以用//label[normalize-space(text())='Servicio Decesos:']和相同类型的其他任何元素找到红色元素。

我尝试使用//label[text()=' F. nacimiento:']并可以正常工作,但是我使用了循环和模式//label[normalize-space(text())=' + foobar + ']来标识元素的其余部分。

我的猜测是该文本字符串中的字符代码与空格或类似字符不同,但是我不知道如何进行检查。

是否有办法知道要返回什么规范化空间,以便使用它来标识元素?

我使用不同的模式来标识元素,但是我很固执,这是学习新的东西的好机会,这些东西将来可能会用到来解决类似的问题。

我根据要求下载了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>
xpath text space normalize normalize-space
1个回答
0
投票

您可以使用下面的xpath。

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

屏幕截图

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.