我使用Selenium创建控制台应用程序以从表中获取文本。
尝试使用代码:
IList<IWebElement> tableRows = browser.FindElementsByXPath("id('column2')/tbody/tr");
var doc = new HtmlDocument();
doc.LoadHtml(tableRows);
此错误如:
'HtmlDocument'不包含带0参数的构造函数
I read this answer from question
Stackoverflow中的几乎所有人都可以使用:
new HtmlDocument
。
为什么我不能使用它。我尝试使用Winform Application,但我也无法使用HtmlDocument。
HtmlDocument
似乎只有LoadHmtl(String)
。但我的代码是IList<IWebElement>
。
我不知道如何将其转换为HTML字符串以添加到doc
。
答案 0 :(得分:1)
IWebElement table = browser.FindElement(By.Id("column2");
var doc = new HtmlDocument();
doc.LoadHtml(table.InnerHtml);
首先,您可以使用selenium获取表格元素...,如果您选择使用敏捷包,则需要使用html源发送到LoadHtml
方法字符串变量,以便你需要做的是找到html块(在你的情况下是表)把它作为IWebElement并使用table.InnerHtml
将其发送到LoadHtml
您也可以发送整页来源doc.LoadHtml(driver.PageSource);