C# 网页截图全攻略:三种技术与 Chrome 路径查找指南

举报
GoodTimeGGB 发表于 2025/01/23 16:03:57 2025/01/23
218 0 0
【摘要】 本文主要介绍了在 C# 中实现网页截图的几种技术及相关要点。涵盖了 PuppeteerSharp、Selenium 和 HtmlToImage 三种方式,分别阐述了它们的安装步骤及核心代码。同时,针对在 C# 中寻找 Windows 上 chrome.exe 路径这一问题,分析了未安装 Google Chrome 和已安装两种情况下的查找原因,并给出了相关参考链接

全局配置

string url = “https://blog.csdn.net/sunshineGGB/article/details/122316754”;

一、PuppeteerSharp

1、安装

NuGet搜索安装[PuppeteerSharp]或者在程序包管理器控制台 Install-Package PuppeteerSharp

2、核心代码

string html = PageSourceCodeHelper.GetWebCode1(url, "UTF-8");
PuppeteerHelper.PuppeteerScreenShot(html);

二、Selenium

1、安装库文件

和[PuppeteerSharp]一样安装下方库文件
Selenium.WebDriver
Selenium.WebDriver.ChromeDriver

2、核心代码

var filePath = AppDomain.CurrentDomain.BaseDirectory;
SeleniumHelper.SeleniumScreenshot(url, "mycsdn.png");

三、HtmlToImage

1、安装库文件

和[PuppeteerSharp]一样安装下方库文件
Select.HtmlToPdf.NetCore
System.Drawing.Common

2、核心代码

HtmlToPdfHelper.HtmlToPdfScreenShot(url);

关于如何在使用C#找到Windows上的chrome.exe路径的问题有些头疼

原因如下:

1、没安装Google Chrome,只是将chrome的环境安装在本地如代码的bin文件夹下

2、安装了Google Chrome,通过系统盘的默认安装路径如"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"或ChromeHTML通过注册表寻找

具体可参考

参考

1、c#使用Selenium相关总结

2、Selenium之cannot find Chrome binary错误

3、How do I use C# to get the path to chrome.exe on Windows?

4、在linux上安装谷歌浏览器并且使用selenium操控

5、在Linux上部署selenium,安装google-chrome和chromedriver

6、puppeteersharp文档

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。