确认元素并转到下一个标签

Confirm Element and go to next tag

我得到了一些包含不同元素的列表,每个元素都有一个删除按钮。我想删除某个Element,所以首先我需要确认Element(Element包含:Test 1,Test2),然后删除Element

<div class="html-replace-container">
<form id="new_supplier_assignment" class="new_supplier_assignment" action="/supplier_assignments" accept-charset="UTF-8" method="post">
<h3 class="supplier-assignment-header progress-active">
<a href="/products/685">Test 1</a>

  -
<a href="/companies/13">Test 2</a>
</h3>
<a class="btn btn-danger btn-sm" data-replace-html-container="true" data-confirm="Sind Sie sich sicher?" style="float: right" rel="nofollow" data-method="delete" href="/supplier_assignments/122?owner=Customer">Löschen</a>

我已经知道了:

<tr>
    <td>click</td>
    <td>xpath=//*[@id='new_supplier_assignment']/..//*[contains(text(), 'Test 1')]/../*[contains(text(), 'Test 2')]</td>
    <td></td>
</tr>

我想转到 <a class="btn btn-danger ...> 并单击。 我不能使用 count() 或 indexof()。

您可以使用文本作为定位符:

driver.findelement(by.xpath("//a[contains(text(), 'YOUR TEXT')]")).click()

按钮之间的区别在于文本 'Test 1' 'Test 2' 因此您可以通过文本找到元素并删除它。

先找一个h3,第一个aTest 1,第二个aTest 2,然后用following-sibling::a得到删除按钮

xpath: //h3[a[1][text()="Test 1"] and a[2][text()="Test 2"]]/following-sibling::a

如果你不关心哪个 aTest 1,它可能是第一个或第二个 a,如果是这样,删除索引 [1] and [2],试试在 xpath 下方:
//h3[a[text()="Test 1"] and a[text()="Test 2"]]/following-sibling::a