跳至页脚内容
.NET 帮助

Selenium ChromeDriver C#(开发者如何使用)

在本教程中,我们将深入探讨使用 Selenium ChromeDriver 和 Selenium WebDriver 组合来自动化 Google Chrome 浏览器中的任务,以及使用 IronPDF 将网页内容转换为 PDF。 本指南适用于初学者,旨在为这两项技术提供一个坚实的基础。

Selenium ChromeDriver 是网页自动化的重要组件,尤其适用于 Google Chrome 用户。 它是一个独立的服务器,可以自动控制 Chrome 版本会话,使其成为测试和自动化网页浏览器(无头模式或非无头模式)的重要工具。 通过 Selenium ChromeDriver,打开新选项卡、导航到 URL 和与网页元素交互等任务可以编程并重复执行。

IronPDF 提供将在线页面转换为 PDF 文档的功能。 无论您是想捕获网页状态以用于文档编制、报告,还是存档目的,IronPDF 提供了无缝的解决方案。 它与 Selenium 无缝集成,允许您将自动化结果转换为固定格式。

设置 Selenium ChromeDriver

Selenium ChromeDriver 对于 C# 中的网页自动化至关重要。 本节将指导您完成安装过程和初始配置,为自动化 Chrome 浏览器交互奠定基础。

安装步骤

NuGet 包:通过 Visual Studio 的 NuGet 安装 Selenium WebDriver 和 ChromeDriver。 搜索 'Selenium.WebDriver' 和 'Selenium.WebDriver.ChromeDriver' 并将它们添加到您的项目中。

Selenium ChromeDriver C#(开发人员工作原理):图 1 - Selenium 导入 WebDriver

匹配 Chrome 版本:确保您拥有正确且最新的 ChromeDriver 版本,NuGet 可自动下载与您的 Chrome 浏览器匹配的版本。

基本配置

系统路径:安装后,ChromeDriver.exe 位于项目的 bin 文件夹中。 您可能需要将此单独的可执行文件添加到系统路径中。

默认设置:在 C# 中,实例化一个新的 ChromeDriver 对象,将启用自动化。 这将启动一个带有默认配置的新 Chrome 浏览器实例。 这种实例化使用 ChromeDriver 的默认配置版本,对于大多数基本自动化任务来说足够。

示例:启动 Chrome

using OpenQA.Selenium.Chrome;

public class ChromeAutomation
{
    public void StartChrome()
    {
        // Initialize ChromeDriver
        var driver = new ChromeDriver();

        // Navigate to the specified URL
        driver.Navigate().GoToUrl("https://www.ironpdf.com");

        // Additional actions can be implemented here

        // Close the browser after tasks are complete
        driver.Quit();
    }
}
using OpenQA.Selenium.Chrome;

public class ChromeAutomation
{
    public void StartChrome()
    {
        // Initialize ChromeDriver
        var driver = new ChromeDriver();

        // Navigate to the specified URL
        driver.Navigate().GoToUrl("https://www.ironpdf.com");

        // Additional actions can be implemented here

        // Close the browser after tasks are complete
        driver.Quit();
    }
}
Imports OpenQA.Selenium.Chrome

Public Class ChromeAutomation
	Public Sub StartChrome()
		' Initialize ChromeDriver
		Dim driver = New ChromeDriver()

		' Navigate to the specified URL
		driver.Navigate().GoToUrl("https://www.ironpdf.com")

		' Additional actions can be implemented here

		' Close the browser after tasks are complete
		driver.Quit()
	End Sub
End Class
$vbLabelText   $csharpLabel

此代码片段演示了如何使用 Selenium WebDriver 启动 Chrome,这是网页自动化的基本步骤。

使用 ChromeDriver 进行基本自动化

一旦您在 C# 项目中设置了 Selenium ChromeDriver,下一步就是自动化与网页的交互。 此基本自动化将演示如何使用 ChromeDriver 进行导航、搜索和与网页元素交互。

在 Chrome 中启动和导航

打开 URL:使用 Navigate().GoToUrl() 方法打开网页。

与网页元素交互:使用 FindElement() 等方法定位元素并执行点击或输入文本等操作。

示例:在网页上进行搜索

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

public class WebSearch
{
    public void PerformSearch()
    {
        // Initialize ChromeDriver
        var driver = new ChromeDriver();

        // Navigate to Google
        driver.Navigate().GoToUrl("https://www.google.com");

        // Locate the search box by its name attribute
        var searchBox = driver.FindElement(By.Name("q"));

        // Enter search text
        searchBox.SendKeys("Selenium ChromeDriver");

        // Submit the search
        searchBox.Submit();

        // Additional actions or validation can be performed here

        // Close the browser after tasks are complete
        driver.Quit();
    }
}
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

public class WebSearch
{
    public void PerformSearch()
    {
        // Initialize ChromeDriver
        var driver = new ChromeDriver();

        // Navigate to Google
        driver.Navigate().GoToUrl("https://www.google.com");

        // Locate the search box by its name attribute
        var searchBox = driver.FindElement(By.Name("q"));

        // Enter search text
        searchBox.SendKeys("Selenium ChromeDriver");

        // Submit the search
        searchBox.Submit();

        // Additional actions or validation can be performed here

        // Close the browser after tasks are complete
        driver.Quit();
    }
}
Imports OpenQA.Selenium
Imports OpenQA.Selenium.Chrome

Public Class WebSearch
	Public Sub PerformSearch()
		' Initialize ChromeDriver
		Dim driver = New ChromeDriver()

		' Navigate to Google
		driver.Navigate().GoToUrl("https://www.google.com")

		' Locate the search box by its name attribute
		Dim searchBox = driver.FindElement(By.Name("q"))

		' Enter search text
		searchBox.SendKeys("Selenium ChromeDriver")

		' Submit the search
		searchBox.Submit()

		' Additional actions or validation can be performed here

		' Close the browser after tasks are complete
		driver.Quit()
	End Sub
End Class
$vbLabelText   $csharpLabel

在此示例中,Chrome Driver 导航到 Google,找到搜索框,输入查询并提交搜索。 这演示了一个简单但常见的自动化任务。

Selenium ChromeDriver C#(开发人员工作原理):图 2 - 网页搜索

这是 输出 Google Chrome 浏览器:

Selenium ChromeDriver C#(开发人员工作原理):图 3 - ChromeDriver 输出

IronPDF简介

IronPDF 是 C# 中一个多功能的库,可以将 HTML 内容转换为 PDF 文档。 它集成到 Selenium ChromeDriver 工作流程中,可进行网页捕获和将其转换为 PDF 格式,是文档编制和报告的理想工具。

IronPDF 的一个显著功能是其 HTML 到 PDF 转换 功能,确保布局和样式保持不变。 此功能将网页内容转为 PDF,非常适合报告、发票和文档。 它支持将 HTML 文件、URL 和 HTML 字符串转换为 PDF。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize the PDF renderer
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize the PDF renderer
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize the PDF renderer
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

开始使用 IronPdf

安装 IronPDF 库

使用 NuGet 包管理器安装

要使用 NuGet 包管理器将 IronPDF 集成到您的 Selenium ChromeDriver C# 项目中,请按照以下步骤操作:

  1. 打开 Visual Studio,并在解决方案资源管理器中右键单击项目。
  2. 从上下文菜单中选择 "管理 NuGet 包..."。
  3. 转到浏览选项卡,搜索 IronPDF。
  4. 从搜索结果中选择IronPDF库并单击安装按钮。
  5. 接受任何许可协议提示。

如果您想通过包管理器控制台将IronPDF包含在项目中,那么在包管理器控制台中执行以下命令:

Install-Package IronPdf

它将获取并安装 IronPDF 到您的项目中。

使用 NuGet 网站安装

关于 IronPDF 的详细概述,包括其功能、兼容性以及其他下载选项,请访问 NuGet IronPDF 包页面

通过 DLL 安装

或者,您也可以直接将 IronPDF 集成到您的项目中,使用其 DLL 文件。下载 ZIP 文件中包含的 DLL,来自此 IronPDF ZIP 下载。 解压缩它,并将 DLL 纳入您的项目。

示例:基础 PDF 创建

using IronPdf;

public class PdfCreation
{
    public void CreatePdfFromHtml()
    {
        // Initialize the PDF renderer
        var renderer = new ChromePdfRenderer();

        // Convert simple HTML string to PDF
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");

        // Save the PDF to a file
        pdf.SaveAs("HelloIronPDF.pdf");
    }
}
using IronPdf;

public class PdfCreation
{
    public void CreatePdfFromHtml()
    {
        // Initialize the PDF renderer
        var renderer = new ChromePdfRenderer();

        // Convert simple HTML string to PDF
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");

        // Save the PDF to a file
        pdf.SaveAs("HelloIronPDF.pdf");
    }
}
Imports IronPdf

Public Class PdfCreation
	Public Sub CreatePdfFromHtml()
		' Initialize the PDF renderer
		Dim renderer = New ChromePdfRenderer()

		' Convert simple HTML string to PDF
		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1>")

		' Save the PDF to a file
		pdf.SaveAs("HelloIronPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

在此示例中,一个简单的 HTML 字符串被转换为 PDF 文档,使用 IronPDF,说明了网页内容如何轻松转变为固定文档格式。

将 Selenium ChromeDriver 与 IronPDF 集成

在本节中,我们将在 C# 中集成 Selenium ChromeDriver 和 IronPDF,这种组合使自动化网页内容捕获及其转换为 PDF 格式成为可能。 这种集成对于创建报告、存档网页或从各种网站收集数据特别有用。

用 ChromeDriver 自动化网页浏览

网页导航:使用 Selenium ChromeDriver 导航并与网页交互。 这可能涉及填写表单、浏览搜索结果或访问特定 URL。

用 IronPDF 将网页内容转换为 PDF

将网页捕获为 PDF:在使用 ChromeDriver 导航到期望的网页内容后,使用 IronPDF 将当前网页视图转换为 PDF 文档。

示例:网页到 PDF 转换

using OpenQA.Selenium.Chrome;
using IronPdf;

public class WebPageToPdf
{
    public void ConvertToPdf(string url)
    {
        // Initialize ChromeDriver to automate browsing
        var driver = new ChromeDriver();

        // Navigate to the specified URL
        driver.Navigate().GoToUrl(url);

        // Initialize the PDF renderer
        var renderer = new ChromePdfRenderer();

        // Convert the web page at the URL to PDF
        var pdf = renderer.RenderUrlAsPdf(url);

        // Save the PDF to a file
        pdf.SaveAs("WebContent.pdf");

        // Close the browser after tasks are complete
        driver.Quit();
    }
}
using OpenQA.Selenium.Chrome;
using IronPdf;

public class WebPageToPdf
{
    public void ConvertToPdf(string url)
    {
        // Initialize ChromeDriver to automate browsing
        var driver = new ChromeDriver();

        // Navigate to the specified URL
        driver.Navigate().GoToUrl(url);

        // Initialize the PDF renderer
        var renderer = new ChromePdfRenderer();

        // Convert the web page at the URL to PDF
        var pdf = renderer.RenderUrlAsPdf(url);

        // Save the PDF to a file
        pdf.SaveAs("WebContent.pdf");

        // Close the browser after tasks are complete
        driver.Quit();
    }
}
Imports OpenQA.Selenium.Chrome
Imports IronPdf

Public Class WebPageToPdf
	Public Sub ConvertToPdf(ByVal url As String)
		' Initialize ChromeDriver to automate browsing
		Dim driver = New ChromeDriver()

		' Navigate to the specified URL
		driver.Navigate().GoToUrl(url)

		' Initialize the PDF renderer
		Dim renderer = New ChromePdfRenderer()

		' Convert the web page at the URL to PDF
		Dim pdf = renderer.RenderUrlAsPdf(url)

		' Save the PDF to a file
		pdf.SaveAs("WebContent.pdf")

		' Close the browser after tasks are complete
		driver.Quit()
	End Sub
End Class
$vbLabelText   $csharpLabel

在此示例中,ChromeDriver 导航到指定 URL,IronPDF 捕获网页并将其转换为 PDF。 这演示了如何自动化网页浏览和文档生成。

结论

Selenium ChromeDriver C#(开发人员工作原理):图 4 - 许可

随着本教程的结束,您已学会如何利用 Selenium ChromeDriver 在 Chrome 浏览器中自动化网页交互,以及使用 IronPDF 将网页内容转换为 C# 中的 PDF 文档。 这种组合为自动化报告、数据存档和内容管理在您的 C# 应用程序中创造了众多可能性。 使用IronPDF 的免费试用版探索其功能,许可证起价仅为 $799。

常见问题解答

Selenium ChromeDriver 在 Web 自动化中有什么用途?

Selenium ChromeDriver 用于通过控制 Chrome 会话来自动化和测试 Web 浏览器。它可以进行编程任务,如打开选项卡、导航 URL 和与 Web 内容交互。

如何在 C# 项目中开始使用 Selenium ChromeDriver?

要开始使用,需要通过 Visual Studio 的 NuGet 安装 Selenium WebDriver 和 ChromeDriver。搜索 'Selenium.WebDriver' 和 'Selenium.WebDriver.ChromeDriver' 来添加它们到您的项目中。

如何将 HTML 内容转换为 C# 中的 PDF?

您可以使用 IronPDF 将 HTML 内容转换为 PDF。`ChromePdfRenderer` 类允许您将 HTML 字符串、文件或 URL 渲染为 PDF 文档,捕获网页布局和样式。

使用 C# 将网页渲染为 PDF 的步骤是什么?

首先,使用 Selenium ChromeDriver 自动化网页导航。然后,使用 IronPDF 的 `ChromePdfRenderer` 捕获网页内容并将其保存为 PDF 文档。

为什么将 ChromeDriver 版本与 Chrome 浏览器匹配很重要?

将 ChromeDriver 版本与您的 Chrome 浏览器匹配可确保兼容性,这是顺利执行自动化任务而不发生错误的关键。

如何配置我的系统路径以执行 ChromeDriver?

下载 ChromeDriver 后,将执行文件放置在项目的 bin 文件夹中。您可能需要将此路径添加到系统的环境变量中以实现无缝执行。

Selenium ChromeDriver 能自动化与 Web 元素的交互吗?

是的,Selenium ChromeDriver 可自动化与 Web 元素的交互。您可以使用 FindElement() 方法定位元素,并执行点击或输入文本等操作。

IronPDF 在 Web 自动化中扮演什么角色?

IronPDF 用于将 HTML 和网页转换为 PDF 文档,保留布局和设计。它通过支持文档化和存档 Web 内容来补充 Selenium。

如何在 C# 中集成网页浏览自动化与 PDF 生成?

使用 Selenium ChromeDriver 自动化网页浏览,并使用 IronPDF 将浏览的内容转换为 PDF 文件。此集成支持自动报告和数据存档任务。

如何将 PDF 转换库添加到我的 C# 项目中?

使用 Visual Studio 中的 NuGet Package Manager 将 IronPDF 添加到 C# 项目中。搜索 'IronPDF',选择它,然后点击安装以将库包含在您的项目中。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,是 C# PDF 技术的先锋工程师。作为 Iron Software 核心代码库的原始开发者,自公司成立以来,他就塑造了公司的产品架构,并与首席执行官 Cameron Rimington 一起将其转变成一家公司,拥有50多人,服务于 NASA、特斯拉和全球政府机构。

Jacob 拥有曼彻斯特大学 (1998-2001) 的一级荣誉土木工程学士学位。1999 年在伦敦创办了自己的第一家软件公司,并于 2005 年创建了他的第一个 .NET 组件后,他专注于解决微软生态系统中的复杂问题。

他的旗舰 IronPDF 和 Iron Suite .NET 库在全球已获得超过 3000 万次的 NuGet 安装,其基础代码继续为全球使用的开发者工具提供支持。拥有 25 年商业经验和 41 年编程经验的 Jacob 仍专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。