我有一個網站,我需要在其上隔離 XPATH 識別符號 - 他們有一個這樣的 XPath ID //*[@id="panel-detail-6163748c7952a-partnerCode"]
問題是網站6163748c7952a在每次加載頁面時都會更改值。
是否有任何這樣的 XPath 運算式可以匹配該字串的第一部分/最后一部分?所以像通配符//*[@id="panel-detail-*-partnerCode"]
uj5u.com熱心網友回復:
這個XPath 2.0運算式,
//*[matches(@id, "^panel-detail-.*-partnerCode$")]
或者這個XPath 1.0運算式,
//*[starts-with(@id, 'panel-detail-') and
substring(@id, string-length(@id) - string-length('-partnerCode') 1)
= '-partnerCode']
將匹配id屬性值以指定子字串開頭和結尾的所有元素。
也可以看看
- XPath 測驗字串以子字串結尾?
uj5u.com熱心網友回復:
xpath 中的方法很少,例如starts-with或ends-with。很多時候人們用應該阻止的包含替換它們。
請注意,ends-with 可用于xpath v2.0.
xpath v1.0:
//*[starts-with(@id,'panel-detail-') and contains(@id, '-partnerCode')]
xpath v2.0:
//*[starts-with(@id,'panel-detail-') and ends-with(@id, '-partnerCode')]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318102.html
