我有以下結構,我嘗試單擊Test1旁邊的第二個垃圾按鈕圖標。Selenium python單擊某個文本旁邊的圖標
<tr class=「ng-scope」>
<td class=「ng-scope」></td>
<td class=「ng-scope」></td>
<td class=「ng-scope」>
<span class=「ng-binding」>Test0</span>
</td>
<td class=「ng-scope」>
<button class=「bin btn-xs」>
<i class="glyphicon glyphicon-trash"></i>
</button>
</td>
</tr>
<tr class=「ng-scope」>
<td class=「ng-scope」></td>
<td class=「ng-scope」></td>
<td class=「ng-scope」>
<span class=「ng-binding」>Test1</span>
</td>
<td class=「ng-scope」>
<button class=「bin btn-xs」>
<i class="glyphicon glyphicon-trash"></i>
</button>
</td>
</tr>
目前我是怎麼實現是通過做find_element_by_xpath
,其中XPath是//[email protected]="glyphicon glyphicon-trash"
,做索引與給定的搜索結果。 但是,我發現退出效率低下,尤其是給定的結果理論上可能很多,我必須遍歷結果列表。
我還以下行嘗試:
myxpath = "//*[contains(text(), 'Test1')]/following-sibling::tr/button[@class='glyphicon glyphicon-trash']"
driver.find_by_xpath(myxpath)
不工作(因爲垃圾桶圖標是不實際的Test1的兄弟
我如何能實現這以更好的方式(即我想用Test1作爲錨點並點擊旁邊的垃圾桶按鈕,而不是旁邊的Test0)?
嘗試一次'// span [text()='Test1']/following :: button'並讓我知道... –
@SaurabhGaur不,它不起作用。 – heike