如何使用 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');
}";