2016-06-23 13 views
0

Im Selen in Python verwendet, um zu prüfen, ob ein Text zwischen font-Tags enthalten und das Tag tbody zurück, wenn es ist.Überprüfen Sie, ob Text in einem Font-Tag

der HTML-Code:

<table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#000000" height="80"> 
    <tbody> 
     <tr bgcolor="#666699"> 
      <td height="17" bgcolor="#CCCC99"> 
       <font size="2"><b><font face="Arial, Helvetica, sans-serif">PARTY 1</font></b></font> 
      </td> 
     </tr> 
     <tr> 
      some html code... 
     </tr> 
    </tbody> 
</table> 

Wie Sie das dies ist ein Beispiel muss ich sehen kann in der HTML-Seite überprüfen, ob die Partei 1 in sich hat, und wenn ja wieder das tbody Element bekommen. Ich sollte sagen, dass es keine Möglichkeit gibt, das Element mit ID zu bekommen, weil es andere Tabellen gibt, die auf die gleiche Weise geschrieben sind. Ich habe bereits versucht mit //font[contains(.,'PARTY 1 ')] aber wie es nicht funktioniert

was ist der beste Weg, um Selen zu verwenden und zu überprüfen, ob PARTY 1 ist in und bekommen tbody ement zurück??

+0

'//font[contains(.,'PARTY 1 ')]' sollte zumindest das 'font' Element korrekt finden. Hast du Fehler bekommen? – alecxe

Antwort

0

Diese XPath Rückkehr TBODY Tag, das FONT-Tag mit 'PARTY 1' Text enthält:

//tbody[.//font[contains(.,'PARTY 1')]]

+0

hey es funktioniert nicht der Text zwischen dem Font-Tag Start und Ende ist nicht als Text erkennen, so kann es nicht bekommen ... –

+0

Sie müssen ersetzen 'enthält (., 'PARTY 1')' mit 'enthält (text() , PARTY 1 '). Obwohl ich nicht ganz sicher bin – RemcoW

+0

gut, wie ich verstehe, ist dieser Text eine Zeichenfolge im Tag und kein Text, deshalb kann ich es nicht bekommen, wenn ich mit text() eine Möglichkeit, um zu überprüfen, ob ein Tag eine Zeichenfolge enthält? –

0

zuerst die Schrift Element erhalten el = driver.find_element_by_xpath('insert xpath here') und anschließend el.text, um den Text zu erhalten. Ihr Code sollte wie folgt aussehen: