【问题标题】:How to handle dynamic Xpath in Selenium如何在 Selenium 中处理动态 Xpath
【发布时间】:2016-09-19 12:43:12
【问题描述】:

我有一个支付按钮的 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> 

【问题讨论】:

  • 可以分享元素的html吗?
  • 需要更多的东西才能给你一个合适的选择器:)
  • 当我检查支付按钮的元素时,这就是我突出显示的内容。我也将上面和下面的行发送给您
  • 请将更新编辑到您的原始问题中。

标签: java html selenium xpath


【解决方案1】:

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

在您的情况下,一些可能的选择器可能是:

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

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多