为了账号安全,请及时绑定邮箱和手机立即绑定

派生 XPath 以访问表元素

派生 XPath 以访问表元素

C#
MMMHUHU 2022-11-22 15:37:41
我正在尝试使用 HtmlAgilityPack 和 C# 控制台应用程序从该网站抓取表格。我能够抓取第 2 列中的股票名称(例如:EDAP TMS ADR (EDAP),但我无法从 Price、Chg、Chg% 列中获取任何值的正确 XPath。例如:我的 names 列的 XPath 完美地工作为:"//*[@id=\"column0\"]//div//table//tr//td//a"Price、Chg、Chg% 列的 XPath 是什么?你能帮我理解你是如何推导出来的吗?
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

这是根据列名获取所需列输出的 xpath。

对于价格:从第 4 行获取价格。

//div[@class='mdcNarrowM']//table//tr[4]/td[count(ancestor::table[1]//tr[1]/td[.='Price']/preceding-sibling::td)+1]

这种情况下的一般表示法:(根据需要更新行号和列名)测试了该表中的所有列。

//div[@class='mdcNarrowM']//table//tr[row_number_goes_here]/td[count(ancestor::table[1]//tr[1]/td[.='column name goes here']/preceding-sibling::td)+1]

要获取所有行(标题行除外),请在 xpath 下使用它。

//div[@class='mdcNarrowM']//table//tr[not(td[@class='colhead'])]/td[count(ancestor::table[1]//tr[1]/td[.='Price']/preceding-sibling::td)+1]



查看完整回答
反对 回复 2022-11-22
  • 1 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信