如何在Selenium中处理动态Xpath

时间:2016-09-19 12:43:13

标签: java html selenium xpath

我有一个付款按钮的Xpath,如下所示

/html/body/form/table/tbody/tr[37]/td[2]/input

但是,当我与其他人共享脚本时,动态xpath会更改为

/html/body/form/table/tbody/tr[38]/td[2]/input

我已经阅读了一些博客来动态使用包来处理它但我无法正确设置关键字。任何人都可以帮我解决这个问题,因为我是编程新手吗?

编辑-1:

<tr> <td></td> 
<!--<td>
<input value="Pay in Iframe" type="submit" onclick="javascript:payInIframe();">
</td>--> 
<td>
<input value="Pay" type="submit" onclick="javascript:processTransaction();"></t‌​d> <td>
<!--<input value="CalculateChecksum" type="button" onclick="javascript:calculateCheckSum();"> 
--></td> 
</tr> 

1 个答案:

答案 0 :(得分:0)

始终根据有意义的内容获取选择器,而不仅仅基于位置。

您案例中的一些可能的选择器可能是:

//input[@value='Pay'][contains(@onclick, 'processTransaction')]
//input[contains(@onclick, 'processTransaction')]
//table//tbody//input[contains(@onclick, 'processTransaction')]