我的任务是从网页创建最小化的 css 文件。所以我需要 all css-properties 中的值来自所有 dom 元素。 但我不知道:如何从特定的 dom 元素获取所有计算的 css 样式?
我有以下代码:
var chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("headless");
var browser = new ChromeDriver(chromeOptions);
var url = "https://example.com";
browser.Navigate().GoToUrl(url);
var domElement = browser.FindElement(By.TagName("html"));
我想要:
var styles = domElement.GetComputedCssStyles();
最佳答案
您可以使用IWebElement
的getCSSValue
方法。例如,要获取元素的背景颜色,您可以尝试以下代码。
var chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("headless");
var browser = new ChromeDriver(chromeOptions);
var url = "https://example.com";
browser.Navigate().GoToUrl(url);
var domElement = browser.FindElement(By.TagName("html"));
var color = domElement.GetCssValue("background-color");
您可以使用 selenium C# 尝试以下 javascript 代码;
string properties = ((IJavaScriptExecutor)driver).ExecuteScript("return window.getComputedStyle(arguments[0],null).cssText", domElement);
strArr = properties.split(";")
for (count = 0; count <= strArr.Length - 1; count++)
{
console.log(strArr[count]);
}
关于c# - 如何使用 Selenium、C# 从 dom 元素获取所有 css 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50601267/