【发布时间】:2012-07-10 13:05:39
【问题描述】:
我正在使用 C# 开发一个应用程序,该应用程序可以访问网站并从表格中获取一些内容。它工作正常,但问题是:当我在组合框中选择不同的值时,我正在获取更改内容的表。我使用的 Xpath 总是获取网站上首先显示的表格,而我不知道如何获取其他表格。我在这里发布所有我认为对你有用的东西来帮助我。
网页是: http://br.soccerway.com/national/brazil/serie-a/2012/regular-season/
xpath/C# 代码:
HtmlNodeCollection no2 = doc.DocumentNode
.SelectNodes("//*[@id='page_competition_1_block_competition_matches_summary_6']/div[2]/table/tbody/tr/td[@class='team team-a ' or @class='date no-repetition' or @class='score-time score' or @class='team team-b ']");
在网站上,您必须点击分数正上方的“Por semana de jogo”选项,才能看到组合框。
我需要从所有表格中获取所有分数,而不仅仅是出现的那个。
【问题讨论】:
-
onchange的组合框您触发一个 Ajax 请求,该请求从服务器获取与从组合框中选择的值相关的数据并显示在表中。所有数据都不存在于 DOM 中。因此,不可能一次获取所有数据。 -
伙计,我不知道如何在我的项目中使用 Ajax。你能告诉我一些更具体的信息吗?我正在使用 HTMLAgilityPack。非常感谢!
-
我想说的是,当您动态地获取与从组合框中选择的值相对应的数据时,您的所有数据在任何给定时间点都不存在于 DOM 中。因此 XPath 不是正确的解决方案。
标签: xpath combobox web-scraping html-agility-pack