确定HTML节点的样式

时间:2019-01-06 16:44:50

标签: c# html css selenium html-agility-pack

我有许多用MS Word生成的html文件。 html代码主要是带有文本节点,段落,跨度等的表。文件不包含javascript或表现出任何其他动态行为。但是他们确实有CSS样式。

当在CSS部分中声明html节点的样式时,htmlagilitypack是否可以确定该样式?据我了解,创建DOM时htmlagilitypack不会解析CSS。是吗?

如果htmlagilitypack无法解析CSS样式,什么是最好的工具?我应该改用硒吗?

1 个答案:

答案 0 :(得分:0)

硒可以通过Javascript得到答案。

ChromeOptions Options = new ChromeOptions();
Options.AddArgument("--headless");
IWebDriver Driver = new ChromeDriver(Options);
Driver.Navigate().GoToUrl(@"file://Some_File.html");

// The correct style
var properties = ((IJavaScriptExecutor)Driver).ExecuteScript("return window.getComputedStyle(arguments[0],null).cssText", e);

Driver.Close();
Driver.Quit();