我正在尝试解析一个网站。唯一的问题是该站点没有使用我不想解析的站点的特定 URL。内容在同一网页上使用 JavaScript 显示到站点,因此内容因搜索查询而异。
是否可以从下拉菜单中选择一个值,然后将其发布到服务器,然后在 C# 中解析 HTML 代码?
说明:代码以 HTML 形式返回。我从要发布的下拉列表中知道选项的名称,但是如何从代码隐藏中做到这一点?
我正在尝试解析一个网站。唯一的问题是该站点没有使用我不想解析的站点的特定 URL。内容在同一网页上使用 JavaScript 显示到站点,因此内容因搜索查询而异。
是否可以从下拉菜单中选择一个值,然后将其发布到服务器,然后在 C# 中解析 HTML 代码?
说明:代码以 HTML 形式返回。我从要发布的下拉列表中知道选项的名称,但是如何从代码隐藏中做到这一点?
你肯定需要检查 Selenium,它正是你需要的。它通常用作测试框架。但是,即使网站使用 javascript,您也可以使用它来操作 HTML 标签。
注意:Selenium 允许您使用 FireFox、Chrome、IE 等浏览器打开和操作网站。但是,我认为您需要使用 WebDriver,它可以在不打开浏览器的情况下操作网站。我使用 Selenium 的大部分经验都来自 Java,但我也在网上找到了多个 .net 教程。
大多数网站并没有真正在 Javascript 中生成 HTML。您经常会看到使用 Javascript 进行回发的 Asp.Net 站点(并且下拉列表的名称回发在 __EVENTTARGET 字段中)
然后你可以在你的应用程序中做同样的事情——你必须模仿填写表格——将所有字段传递给服务器,包括 VIEWSTATE 和 EVENTTARGET。
话虽如此,这可能违反了网站的使用条款。