C# Can';t在C中使用HtmlDocument#

C# Can';t在C中使用HtmlDocument#,c#,selenium,C#,Selenium,我使用Selenium创建控制台应用程序以从表中获取文本 尝试使用以下代码: IList<IWebElement> tableRows = browser.FindElementsByXPath("id('column2')/tbody/tr"); var doc = new HtmlDocument(); doc.LoadHtml(tableRows); IList tableRows=browser.FindElementsByXPath(“id('column2')/tbod

我使用Selenium创建控制台应用程序以从表中获取文本

尝试使用以下代码:

IList<IWebElement> tableRows = browser.FindElementsByXPath("id('column2')/tbody/tr");
var doc = new HtmlDocument();
doc.LoadHtml(tableRows);
IList tableRows=browser.FindElementsByXPath(“id('column2')/tbody/tr”);
var doc=新的HtmlDocument();
doc.LoadHtml(tableRows);
此错误类似于:

“HtmlDocument”不包含接受0个参数的构造函数

Stackoverflow中的几乎所有人都可以使用:

新HtmlDocument

为什么我不能用这个。我尝试使用Winform应用程序,但我也不能使用HtmlDocument

HtmlDocument
似乎只是
LoadHmtl(String)
。但是我的代码是
IList

我不知道如何将其转换为HTML字符串以添加到
doc

IWebElement table = browser.FindElement(By.Id("column2");
var doc = new HtmlDocument();
doc.LoadHtml(table.InnerHtml);
首先,您可以使用selenium获取表元素,如果您选择使用agility pack,则需要使用html源代码发送到
LoadHtml
methodstring变量,因此您需要做的是找到html块(在您的示例中是表),将其作为IWebElement,并使用
table.InnerHtml将其发送到LoadHtml


您还可以发送完整的页面源代码
doc.LoadHtml(driver.PageSource)

您是否正确使用了HTMLability Pack,因为他们正在HtmlDocument类中使用它。请尝试以下操作:
在评论前建议使用
HTMLabilitypack
安装程序包HTMLabilitypack
。所以我认为
HtmlDocument
位于命名空间
System.Windows.Web
中。我将试用
HtmlAgility Pack
。谢谢。何时安装此软件包。它起作用了。但在这个问题上,我有一个问题,比如LoadHtml只接受字符串HTML。但是我想添加行:
IList tableRows=browser.FindElementsByXPath(“id('column2')/tbody/tr”)到这个。有什么方法可以做到这一点吗?谢谢为什么不继续使用selenium???,你为什么要使用agility pack?也许可以提供一些解释,而不仅仅是代码:)学习它总是很有帮助的,不仅是得到原始答案。谢谢@leon barkan