我尝试了几种组合而没有成功。该数据的完整xpath为.//*[@id='detail_row_seek_37878']/td
问题是每个节点的数字部分'37878'发生了变化,因此我无法使用foreach循环遍历节点。有没有办法使用通配符并将xpath减少到.//*[@id='detail wildcard
,以试图绕过绝对值部分?我正在使用html敏捷包。
HtmlNode ddate = node.SelectSingleNode(".//*[@id='detail_row_seek_37878']/td");
答案 0 :(得分:14)
提取未更改的部分:
//*[starts-with(@id, 'detail_row_seek')]/td
相关技术和功能
匹配id
属性在第7个字符包含字符串_row_
的元素:
//*[substring(@id, 7, 5)='_row_']/td
在任意位置匹配id
属性包含文本detail_
的元素:
//*[contains(@id, 'detail_')]/td
匹配id
属性结尾的元素文本detail_row_seek
:
//*['detail_row_seek' = substring(@id,
string-length(@id) - string-length('detail_row_seek') + 1)]/td