我得到了一些包含不同元素的List,每个Element都有一个删除按钮。我想删除某个元素,所以首先需要确认元素(元素包含:测试1,测试2),然后删除元素
<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()。
答案 0 :(得分:0)
您可以将文本用作定位器:
driver.findelement(by.xpath("//a[contains(text(), 'YOUR TEXT')]")).click()
按钮之间的不同之处是文本'Test 1''Test 2',因此您可以找到该元素并通过他的文本将其删除。
答案 1 :(得分:0)
首先找到h3
,其中a
为Test 1
,第二a
为Test 2
,然后使用following-sibling::a
获取删除按钮
xpath://h3[a[1][text()="Test 1"] and a[2][text()="Test 2"]]/following-sibling::a
如果您不关心哪个a
是Test 1
,可能是第一个或第二个a
,如果是,请删除索引[1] and [2]
,尝试xpath下方:
//h3[a[text()="Test 1"] and a[text()="Test 2"]]/following-sibling::a