2011-11-05 33 views
1

我有這樣的結構:Selenium表中的行數?

<table> 
<tbody> 
    <tr id="1_2011_11_11_07_45_00" class="on"> 
    </tr> 
    <tr id="1_2011_11_11_09_25_00"> 
    </tr> 
    <tr id="1_2011_11_11_11_05_00"> 
    </tr> 
    <tr id="1_2011_11_11_14_50_00"> 
    </tr> 
    <tr id="1_2011_11_11_16_00_00"> 
    </tr> 
    <tr id="1_2011_11_11_18_10_00"> 
    </tr> 
    <tr id="1_2011_11_11_21_30_00"> 
    </tr> 
</tbody> 

,我想這算在表中的行數。我正在使用Python作爲腳本。 表的XPath是:

的XPath =/HTML /體/表格/ DIV [3]/DIV/DIV/DIV [2]/DIV/DIV /表

任何人都可以幫助我嗎?

回答

3

也可以通過get_xpath_count完成。前者爲 。 Number_of_row = $ browser.get_xpath_count( 「/ TBODY/TR」)

我沒有檢查上面的代碼,但我認爲它會工作

+0

大,謝謝!然而在我的第2頁表中有幾乎相同的Xpath,另一個有: xpath =/html/body/form/div [3]/div/div/div [2]/div [2]/div /表 它需要兩者的計數,我不知道爲什麼 –

+0

它可能是因爲「/ tbody」的xpath_count爲2.因此,對「/ tbody」採取「tr」計數。嘗試給你想要計算的表的絕對xpath – GirishB

0
s = """<table> 
<tbody> 
    <tr id="1_2011_11_11_07_45_00" class="on"> 
    </tr> 
    <tr id="1_2011_11_11_09_25_00"> 
    </tr> 
    <tr id="1_2011_11_11_11_05_00"> 
    </tr> 
    <tr id="1_2011_11_11_14_50_00"> 
    </tr> 
    <tr id="1_2011_11_11_16_00_00"> 
    </tr> 
    <tr id="1_2011_11_11_18_10_00"> 
    </tr> 
    <tr id="1_2011_11_11_21_30_00"> 
    </tr> 
</tbody>""" 
import re 
len(re.findall('\tr',s)) 
0

的XPath包含計數(<節點集EXPR>)功能。

簡化你的例子,如果你的表是在HTML源代碼的唯一表,那麼 XPath表達式 計數(// //將表TR) 將返回7號

相關問題