在我的网站上有一个以文本形式接收用户输入的表单
使用firepath我追踪该位置的xpath
.//*[@id='cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rptAdultDetails_0_txtFirstName_0']
但是当我再次加载同一页面时,我会得到以下路径
NewXPath = .//*[@id='cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rptAdultDetails_1_txtFirstName_1']
在观察上述路径后,我注意到只有adultdatails_0_txtFirstname_0
部分变为adultdatails_1_txtFirstname_1
注意:每次我为adultdetails获取一个新号码,txtfirstname。
我尝试过xpath模式匹配但没有取得任何成功。所以需要帮助来处理这个
任何帮助都会受到欢迎
答案 0 :(得分:3)
您可以在xpath中使用starts-with()
or contains()
,
//*[starts-with(@id,'cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rptAdultDetails')]
或强>
如果您更喜欢cssSelector
,则可以使用 * = , $ = 或 ^ = 等符号。
[id^='cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rptAdultDetails']
答案 1 :(得分:0)
Try use the regular expression, like
.//*[starts-with(@id,'cphSiteContentView_cphContentPanel_ucBookingSummary_ucShoppingCart_rptProductList_ctl00_0_ucTravellersContactDetails_0_rptRoomsDetails_0_rpt']