2014-09-10 64 views
1
<tbody> 
    <tr class="b"> 
    <td class="t_l">betmatrix</td> 
    <td class="t_l"> 
    <td class="t_r">dsdfsf</td> 
    <td class="t_r">NONE</td> 
    <td class="t_r">ALL</td> 
    <td class="t_r">NONE</td> 
    <td class="t_r">ALL</td> 
    <td class="t_r">ALL</td> 
    <td class="t_r">NONE</td> 
    <td class="t_r">ALL</td> 
    <td class="t_r">Not required</td> 
    <td class="t_r">1.11</td> 
    <td class="t_r">All User</td> 
    <td class="t_r">0.00</td> 
    <td class="t_r">2014-09-05</td> 
    <td class="t_r">2014-09-15</td> 
    <td class="t_r">2014-09-05</td> 
    <td class="t_r">1-admin</td> 
    <td class="t_r"> 
    <td class="t_r">0.00</td> 
    <td class="t_r">0.00</td> 
    <td class="t_r"> 
    <td class="t_r"> 
     <a onclick="showBonusModificationLogs(53599)" href="#">History</a> 
    </td> 
    </tr> 
    <tr class="a"> 
    <tr class="b"> 
    <tr class="a"> 
</tbody> 

這是我擁有的表結構,並且我無法僅搜索表中的特定項目。如何從表中所有類別具有相同名稱的表中單擊按鈕

如何找到一行中的元素,然後單擊該行末尾的按鈕(如果找到它)?

在這個例子中,我需要搜索的單詞:dsdfsf

這對其他表容易,因爲類名是不同的。但是同樣的方法在這裏不起作用。

回答

3

正如@alecxe指出的那樣,您可以使用XPath。可能有數百種不同的方法來做到這一點。但要符合您的要求,我會使用://tr[td[text()='dsdfsf']]/td/a。這就是說:任何具有帶有文本'dsdfsf'的列的行,都會找到一個帶有錨標記的列。

2

你可以找到元素By.xpath

WebElement element = driver.findElement(By.xpath('//table//tr[td[@class="t_r"] and text() = "dsdfsf"]/td[last()]')); 
element.click(); 

中的XPath將在每一個tr搜索table內的tdt_r類和文字dsdfsf,然後將獲得的行內最後td

相關問題