JRB*_*JRB 2 c# xpath screen-scraping html-parsing html-agility-pack
我尝试了几种组合但没有成功.该数据的完整xpath是.//*[@id='detail_row_seek_37878']/td 问题是每个节点的数字部分'37878'发生了变化,因此我无法使用foreach循环遍历节点.有没有办法使用通配符并减少xpath .//*[@id='detail wildcard,以绕过绝对值部分?我正在使用html敏捷包.
HtmlNode ddate = node.SelectSingleNode(".//*[@id='detail_row_seek_37878']/td");
Run Code Online (Sandbox Code Playgroud)
Way*_*ett 14
提取不变的部分:
//*[starts-with(@id, 'detail_row_seek')]/td
Run Code Online (Sandbox Code Playgroud)
相关技术和功能
要匹配其id属性包含_row_ 第7个字符的字符串的元素:
//*[substring(@id, 7, 5)='_row_']/td
Run Code Online (Sandbox Code Playgroud)
要匹配其id属性包含detail_任何位置的文本的元素:
//*[contains(@id, 'detail_')]/td
Run Code Online (Sandbox Code Playgroud)
要匹配其id属性以文本结尾的元素detail_row_seek:
//*['detail_row_seek' = substring(@id,
string-length(@id) - string-length('detail_row_seek') + 1)]/td
Run Code Online (Sandbox Code Playgroud)