在C#中与网页交互

本文关键字:网页 交互 | 更新日期: 2023-09-27 18:21:35

有一个网站是使用ColdFusion创建的(不确定这是否重要)。我需要与这个网站互动。我需要做的主要事情是导航到不同的页面并单击按钮。

关于如何做到这一点,我提出了两个想法。第一种是使用WebBrowser控件。有了这个,我当然可以浏览页面,点击按钮(根据这个)。

另一种方式是直接与html交互。不确定具体如何做到这一点,但我假设我可以单击按钮或使用HTML请求与页面交互。

有人推荐哪种方式更好吗?还有比这更好的方法吗?

在C#中与网页交互

我会使用Html AgilityPack来解析Html,然后使用HttpWebRequest进行适当的POST和GET。

虽然可以使用WebBrowser控件来模拟点击和导航,但使用Html AgilityPack和HttpWebRequest可以更好地控制发送的内容

您考虑过硒吗?WebDriver API非常好,允许在网站自动化方面做很多事情。

为什么不直接提交url?这就是点击按钮的作用。使用WebRequest.Create,您可以直接提交到url。无需加载、解析和"点击"按钮。

HtmlAguilityPack对于提取web元素和轻松查找标记非常有用。如果你需要远程";"转向";不过,我更喜欢使用WatiN。它自称是一个web单元测试框架,但在任何需要伪造浏览器部分的时候,它都非常有用。此外,它可以很好地远程控制不同的浏览器,以完成您需要的大多数任务(例如找到一个按钮并按下它,或者如果您需要登录,则可以找到一个文本字段并填写文本)。