Xpath class id + 文本

Xpath class id + text

我正在尝试在以下站点中抓取权限 tables:https://register.fca.org.uk/ShPo_FirmDetailsPage?id=001b000000MfaDiAAJ

我正在尝试确定 xpath 是否能够通过诸如此类的文本定位特定的 class(请注意 ID 是随机的,因此无法使用它们定位,而且 class每个 table)

的 es 都相同

就购房计划提供建议

                    <div id="a2Nb000000035ohEAA" class="collapse DisciplineDetails PassportDetails PermDesc">
                      <h3 class="PermissionsListHeader">Advising on a home purchase plan</h3>
                      <br>
                      <br>
                    </div>

                    <ul class="PermissionConditionsList">
                      <li class="PermissionsConditionsItem">
                        Customer Type 

                        <ul class="PermCondsLimitationsList">
                          <li style="list-style: none"><span id="j_id0:j_id1:j_id110:regActTable:0:j_id531:0:j_id533:0:j_id535:0:j_id538"></span></li>

                          <li class="PermCondsLimitationsItem Popover">Customer</li>
                        </ul>
                      </li>
                    </ul>

                    <ul class="PermissionConditionsList">
                      <li class="PermissionsConditionsItem">
                        Investment Type 

                        <ul class="PermCondsLimitationsList">
                          <li style="list-style: none"><span id="j_id0:j_id1:j_id110:regActTable:0:j_id531:1:j_id533:0:j_id535:0:j_id538"></span></li>

                          <li class="PermCondsLimitationsItem Popover">Home purchase plans</li>
                        </ul>
                      </li>
                    </ul>
                  </div>

如果您想获取包含特定文本的元素的 class,您可以使用以下 xpath:

//h3[text()='Advising on a home purchase plan']/@class

如果您需要获取整个 div,请使用:

//div[text()='Advising on a home purchase plan']

您的要求不明确。如果这不是您要查找的内容,请使用预期输出进行更多解释。

仍然很难理解你想要实现的目标。据我所知,你需要解析 PermCondsLimitationsItem Popover class 值(在本例中为 Customer)基于 PermissionsListHeader class 属性值是否等于“Advising on a home purchase plan”。如果是,则保存 PermCondsLimitationsItem Popover class 属性的值。

所以下面的逻辑应该可以做到这一点。

  1. 解析

    并测试初始条件:

    //h3[@class='PermissionsListHeader']//text()

  2. 如果属性值等于"Advising on a home purchase plan"解析PermCondsLimitationsItem Popoverclass。

    //li[@class='PermCondsLimitationsItem Popover']//text()

条件不满足就填空space等