2016-08-14 8 views
0

Ich bin neu zu Xpaths oder Codierung allein, also bitte mit mir.Xpath Klasse ID + Text

Ich versuche Berechtigungstabellen in der folgenden Website zu kratzen: https://register.fca.org.uk/ShPo_FirmDetailsPage?id=001b000000MfaDiAAJ

Ich bin tryinng, um herauszufinden, ob XPath eine bestimmte Klasse mit einem Text danach, wie dies der Lokalisierung (Bitte beachten Sie ID der Lage ist, sind so zufällig nicht finden kann sie, und auch Klassen sind die gleichen für jede Tabelle)

Beratung bei einem Hauskauf Plan

    <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> 
+0

Können Sie erklären, mehr auf Ihre Anforderung? Möchten Sie den Klassennamen des passenden Textes erhalten oder möchten Sie das div des passenden Textes erhalten? – maheeka

+0

Hi Maheeka, und danke für Ihre Hilfe. Ich versuche, die Tabelle zu extrahieren, so dass der XPath die Tabelle mit der Klasse "PermissionsListHeader" finden würde, die dem Text von "Beratung für einen Heimbestellungsplan" entspricht und den Kundentyp extrahiert (in diesem Fall "Kunde"), aber es kann einige geben von diesen) – Tomas

Antwort

0

Dennoch ist es schwer zu verstehen, was Sie .. Was erreichen wollen wie ich sie verstehe, Sie PermCondsLimitationsItem Popover Klasse Wert (e) (in diesem Fall Kunde) zu analysieren, müssen basierend darauf, ob die PermissionsListHeader Klassenattributwert ist gleich "Beratung über einen Hauskaufplan". Wenn ja, dann speichern Sie den Wert PermCondsLimationsItem Popover Klassenattribut.

Also sollte die folgende Logik das Ding tun.

  1. Analysieren Sie die < h3> und testen Sie die Anfangsbedingung:

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

  2. Wenn der Attributwert equals "Beratung über einen Home-Kauf-Plan" Parsen PermCondsLimationsItem Popover Klasse.

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

Wenn die Bedingung nicht erfüllt ist, einfach den leeren Raum usw.

0

Wenn Sie möchten, erhalten die Klasse des Elements mit einen bestimmten Text enthalten Sie den folgenden XPath verwenden können:

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

Wenn Sie die ganze div, benutzen Sie brauchen:

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

Ihre Anforderung ist nicht klar. Wenn dies nicht das ist, wonach Sie suchen, erläutern Sie bitte mehr mit der erwarteten Ausgabe.