2016-06-23 18 views
0

我在python中使用硒以檢查包含的字體標籤之間的文本以及是否返回標籤tbody。檢查包含在字體標籤中的文本

html代碼:

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

正如你可以看到這是一個例子,我需要檢查在html頁面如果它,如果因此讓tbody元素背面有PARTY 1。 我應該說,沒有辦法使用id來獲取元素,因爲還有其他表以相同的方式寫入。 我已經嘗試使用//font[contains(.,'PARTY 1')]但因爲它沒有工作

什麼是使用硒的最佳方法,並檢查PARTY 1是否在和得到tbody elment背部??

+0

'''''''''''''''至少應該正確定位'font'元素。你有沒有得到任何錯誤? – alecxe

回答

0

這個XPath返回TBODY標籤包含FONT標籤與黨1「文本:

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

+0

嘿它不工作字體標籤之間的文本開始和結束isnt認可爲文本,所以它不能得到它... –

+0

你可能不得不用'contains(。,'PARTY 1')'用'contains(text() ,'PARTY 1')。雖然我不完全確定 – RemcoW

+0

以及據我所知,這個文本是標籤中的字符串,而不是文本,這就是爲什麼我不能得到它時,即時通訊使用文本()任何方式來檢查標籤是否包含字符串? –

0

首先使用el = driver.find_element_by_xpath('insert xpath here')獲取字體元素,然後用el.text來獲取文本。你的代碼應該看起來像這樣:

el = driver.find_element_by_xpath('insert xpath of font tag here') 

if el.text == 'PARTY 1': 
    return driver.find_element_by_xpath('insert xpath of tbody here') 
相關問題