如何使用 Pupeetersharp 从元素中获取计算样式 属性
How can I get computed style property from element with Pupeetersharp
我正在尝试使用 PuppeteerSharp 获取元素的计算颜色 属性。我已经看到几个使用 Pupeeteer(不是 Sharp)的答案表明 window.getComputedStyle() 可能是解决方案,但我无法使用 PuppeteerSharp 使其工作。
参见:
到目前为止,我的代码如下所示:
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
using (browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = IsHeadless }))
{
using (var page = await Program.browser.NewPageAsync())
{
var jsCode = @"async() => {
const element = document.querySelector('.productDetail svg[viewbox=""0 0 16 16""]');
return window.getComputedStyle(element).getPropertyValue('color')};
;}";
await page.GoToAsync("https://www.galaxus.ch/fr/s3/product/horizon-fitness-syros-e-velos-elliptiques-13874309");
var results = await page.EvaluateFunctionAsync<string>(jsCode);
}
}
如有任何帮助,我们将不胜感激!
我在您的代码中发现了一些问题。首先,您的 javascript 代码中存在一些小错误:您不需要异步和额外的括号。
var jsCode = @"() => {
const element = document.querySelector('.productDetail svg[viewbox=""0 0 16 16""]');
return window.getComputedStyle(element).getPropertyValue('color');
}";
我正在尝试使用 PuppeteerSharp 获取元素的计算颜色 属性。我已经看到几个使用 Pupeeteer(不是 Sharp)的答案表明 window.getComputedStyle() 可能是解决方案,但我无法使用 PuppeteerSharp 使其工作。
参见:
到目前为止,我的代码如下所示:
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
using (browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = IsHeadless }))
{
using (var page = await Program.browser.NewPageAsync())
{
var jsCode = @"async() => {
const element = document.querySelector('.productDetail svg[viewbox=""0 0 16 16""]');
return window.getComputedStyle(element).getPropertyValue('color')};
;}";
await page.GoToAsync("https://www.galaxus.ch/fr/s3/product/horizon-fitness-syros-e-velos-elliptiques-13874309");
var results = await page.EvaluateFunctionAsync<string>(jsCode);
}
}
如有任何帮助,我们将不胜感激!
我在您的代码中发现了一些问题。首先,您的 javascript 代码中存在一些小错误:您不需要异步和额外的括号。
var jsCode = @"() => {
const element = document.querySelector('.productDetail svg[viewbox=""0 0 16 16""]');
return window.getComputedStyle(element).getPropertyValue('color');
}";