Selenium VBA Excel教程(Chrome Web Scrap)ping)
⚡ 智能摘要
Selenium Excel 中的 VBA 可自动执行以下操作 Google Chrome 使用以下方法从 HTML 网页中抓取数据: Selenium 使用类型库和 WebDriver 方法打开网站,按类和标签定位表格元素,并将结果写入工作表单元格。

什么是数据抓取ping 运用 Selenium?
Selenium 是一款自动化工具,可简化刮擦过程。ping 从HTML网页中获取信息,执行网页抓取ping - Google Chrome在Excel中, Selenium 类型库使 VBA 能够驱动真正的浏览器,而不是已弃用的 Internet Explorer 引擎。
如何在数据抓取之前准备 Excel 宏ping 运用 Selenium
在开始数据抓取之前,必须对 Excel 宏文件执行某些先决条件操作。ping 的过程。
这些先决条件如下:
步骤1) 打开一个基于 Excel 的宏,并访问 Excel 的“开发工具”选项。
步骤2) 在“开发工具”选项卡下选择“Visual Basic”选项。
步骤3) 插入新模块。
步骤4) 初始化一个新的子程序,并将其命名为 test2。
Sub test2() End Sub
模块中的运行结果如下:
步骤5) 在“工具”选项卡下访问“参考”选项并进行参考。 Selenium 类型库。此库有助于打开 Google Chrome 并支持宏脚本编写。
现在Excel文件已准备好与浏览器交互。下一步是集成一个宏脚本,以方便数据抓取。ping 在HTML中。
怎么开 Google Chrome 使用VBA
以下是打开的步骤 Google Chrome 使用VBA。
步骤1) 按照如下所示在子程序中声明和初始化变量。
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer
步骤2) 打开 Google Chrome 使用 Selenium 然后用 VBA 编写驱动程序。启动“Chrome”浏览器并按 F5 键。
以下是代码。
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer driver.Start "Chrome" Application.Wait Now + TimeValue("00:00:20") End Sub
该模块将产生如下结果:
如何在浏览器中打开网站 Google Chrome 使用VBA
一旦您可以访问 Google Chrome 接下来,使用 VBA 访问网站。这可以通过 Get 函数来实现。 URL 以双引号形式传递。
该模块如下所示:
按 F5 执行宏。以下网页将会打开。 Google Chrome 如图所示。
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer driver.Start "Chrome" driver.Get "https://demo.guru99.com/test/web-table-element.php" Application.Wait Now + TimeValue("00:00:20") End Sub
现在 Excel 宏已准备好执行抓取操作。ping 任务。下一步展示了如何提取信息。trac通过应用 Selenium 以及 VBA。
如何使用 VBA 从网站抓取信息
假设日内交易员想要每天访问网站上的数据。每次日内交易员点击按钮时,系统应该自动将市场数据导入Excel。
从上述网站中,需要检查一个元素并观察数据结构。按 Control + 键可访问下方 HTML 的源代码。 Shift +我。
<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>
如您所见,数据以单个 HTML 表格的形式呈现。因此,要从该 HTML 表格中提取全部数据,您必须设计一个宏来提取表格的表头信息及其对应的数据。请执行以下任务。
步骤1) 编写一个 for 循环,遍历 HTML 头部信息集合。 Selenium 如图所示,驱动程序使用 FindElementByClass() 和 FindElementByTag() 方法查找标头信息。
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer rowc = 2 Application.ScreenUpdating = False driver.Start "chrome" driver.Get "https://demo.guru99.com/test/web-table-element.php" For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr") cc = 1 For Each t In th.FindElementsByTag("th") Sheet2.Cells(1, cc).Value = t.Text cc = cc + 1 Next t Next th
步骤2) 接着,将 Selenium 驱动程序使用类似的方法查找表数据。请编写以下代码:
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer rowc = 2 Application.ScreenUpdating = False driver.Start "chrome" driver.Get "https://demo.guru99.com/test/web-table-element.php" For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr") cc = 1 For Each t In th.FindElementsByTag("th") Sheet2.Cells(1, cc).Value = t.Text cc = cc + 1 Next t Next th For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr") columnC = 1 For Each td In tr.FindElementsByTag("td") Sheet2.Cells(rowc, columnC).Value = td.Text columnC = columnC + 1 Next td rowc = rowc + 1 Next tr Application.Wait Now + TimeValue("00:00:20") End Sub
Excel 可以使用工作表的 Range 属性或 Cells 属性进行初始化。为了降低 VBA 脚本的复杂性,我们将收集的数据初始化到工作簿中 Sheet 2 的 Cells 属性中。Text 属性用于将文本放置在 HTML 标签内。
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer rowc = 2 Application.ScreenUpdating = False driver.Start "chrome" driver.Get "https://demo.guru99.com/test/web-table-element.php" For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr") cc = 1 For Each t In th.FindElementsByTag("th") Sheet2.Cells(1, cc).Value = t.Text cc = cc + 1 Next t Next th For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr") columnC = 1 For Each td In tr.FindElementsByTag("td") Sheet2.Cells(rowc, columnC).Value = td.Text columnC = columnC + 1 Next td rowc = rowc + 1 Next tr Application.Wait Now + TimeValue("00:00:20") End Sub
VBA 模块的代码如下所示:
步骤3) 宏脚本编写完成后,将子程序分配给 Excel 中的一个按钮,然后退出 VBA 模块。将按钮命名为“刷新”或任何合适的名称。在本例中,按钮被命名为“刷新”。
步骤4) 按下刷新按钮即可获得以下输出。
步骤5) 将 Excel 中的结果与结果进行比较 Google Chrome.












