0

嗨,我正在测试一个旅游域网站,并且在预订详细信息页面上,如果搜索 3 名成人和 2 名儿童,我将根据我的搜索获得相同编辑框的不同 xpath,如果我搜索,成人 2 的 xpath 与儿童 1 相同1 个成人 1 个孩子,所以我的脚本失败了需要一些建议吗???我也在 selenium 中尝试了不同的目标下拉选项,但不起作用:(我的脚本是万一,如果我搜索 3 个成人 2 个孩子,我会得到第二个成人 xpath,如下所示

<tr>
    <td>type</td>
    <td>id=cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rptAdultDetails_2_txtLastName_4</td>
    <td>thfh</td>
</tr>

如果搜索 1 个成人和 1 个孩子,我会得到相同的 xpath

<tr>
    <td>type</td>
    <td>id=cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rptAdultDetails_2_txtLastName_4</td>
    <td>thfh</td>
</tr>

想要一些建议如何识别?

4

1 回答 1

1

您可以为目标尝试以下操作:

xpath=//*[包含(@id,'cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00')]

诀窍是搜索 id 的一部分(如果它是动态的)。请记住,您需要使 id 足够独特,以至于您不会返回 2 个或更多元素,否则明智的 IDE 只会选择它遇到的第一个元素

您可以编辑引号内的任何内容,以使 xpath 足够独特,只能选择您想要的 id。

于 2013-04-11T07:50:09.460 回答