再次找到一个按钮,其用户已更改其文字,然后点击

时间:2017-03-23 17:47:22

标签: selenium selenium-webdriver

我找到了一个按钮,第一次在它上面用文字呈现时,就像杀了' Kill'与---> .//tr[1]/td[4]/div/button[text()='Kill']

我的HTML就像......



<tbody>
<tr class="GPBYFDECG GPBYFDEJG" __gwt_row="0" __gwt_subrow="0">
<td class="GPBYFDEBG GPBYFDEDG GPBYFDEEG GPBYFDEKG">
<td class="GPBYFDEBG GPBYFDEDG GPBYFDEKG">
<td class="GPBYFDEBG GPBYFDEDG GPBYFDEKG">
<td class="GPBYFDEBG GPBYFDEDG cellkillbutton GPBYFDEKG">
<div style="outline-style:none;" __gwt_cell="cell-gwt-uid-339" tabindex="0">
<button type="button" style="width: 50px;color:white;" tabindex="-1">Kill</button>
</div>
</td>
&#13;
&#13;
&#13;

当用户点击该按钮时,其上的文字只会更改为“取消杀死”按钮。 HTML中没有任何更改,但是当我修改xpath时 .//tr[1]/td[4]/div/button[text()='UnKill']。 它根本不起作用。为什么?即使我刷新页面并进入萤火虫并检查它,它也不起作用。

2 个答案:

答案 0 :(得分:0)

当您点击按钮时,&#34; Kill&#34;它变得隐藏,其他一些按钮在文本&#34; UnKill&#34;的相同UI位置被激活。在这种情况下,这两个元素的xpath是不同的。对于第二次运行,尝试使用文本&#34; Unkill&#34;找到按钮/元素的xpath。 &安培;尝试点击。它应该工作。

答案 1 :(得分:0)

如果您使用相同的元素执行操作,有时可能会更改元素状态。因此,对于您的情况,如果它正在点击标记为“Kill”的按钮

然后通过添加一些 <label class="btn btn-primary"> <input id="viewed" name="viewed-filter" value="viewed" autocomplete="off" type="radio">Reviewed</input> </label> 之类的

来检查您的按钮是否可点击
ExplicitWait