定时收集

Dim objExcel, objWorkbook, objWorksheet
Dim objChrome, objLink, objElement

' 创建Excel对象
Set objExcel = CreateObject("Excel.Application")

' 打开工作簿
Set objWorkbook = objExcel.Workbooks.Open("C:\路径\至\你的\工作簿.xlsx")

' 选择工作表
Set objWorksheet = objWorkbook.Sheets("Sheet1") ' 将 "Sheet1" 替换为你的工作表名称

' 创建Chrome浏览器对象
Set objChrome = CreateObject("Selenium.ChromeDriver")

' 循环处理每一行
For i = 1 To objWorksheet.UsedRange.Rows.Count
    ' 读取链接
    link = objWorksheet.Cells(i, 1).Value ' 假设链接在第一列

    ' 打开链接
    objChrome.Get link

    ' 等待页面加载完成
    WScript.Sleep 3000 ' 这里可以根据实际情况调整等待时间

    ' 提取指定元素
    Set objElement = objChrome.FindElementById("yourElementID") ' 用实际的元素ID替换 "yourElementID"

    ' 在这里处理提取到的元素,例如输出到控制台
    WScript.Echo "Element Value: " & objElement.Text

Next

' 关闭Excel和Chrome浏览器
objExcel.Quit
objChrome.Quit

' 释放对象
Set objElement = Nothing
Set objChrome = Nothing
Set objWorksheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing

请确保你已经安装了Selenium和ChromeDriver。你可以根据实际情况调整文件路径、工作表名称、链接列和元素ID。这个示例假设你已经设置好了Chrome浏览器和ChromeDriver的环境变量。

Dim objExcel, objWorkbook, objWorksheet
Dim objChrome, objLink, objElement

' 输出日志 - 创建Excel对象
WScript.Echo "Creating Excel object."
Set objExcel = CreateObject("Excel.Application")

' 输出日志 - 打开工作簿
WScript.Echo "Opening workbook."
Set objWorkbook = objExcel.Workbooks.Open("C:\路径\至\你的\工作簿.xlsx")

' 输出日志 - 选择工作表
WScript.Echo "Selecting worksheet."
Set objWorksheet = objWorkbook.Sheets("Sheet1") ' 将 "Sheet1" 替换为你的工作表名称

' 输出日志 - 创建Chrome浏览器对象
WScript.Echo "Creating Chrome browser object."
Set objChrome = CreateObject("Selenium.ChromeDriver")

' 循环处理每一行
For i = 1 To objWorksheet.UsedRange.Rows.Count
    ' 输出日志 - 读取链接
    WScript.Echo "Reading link from cell " & i & ", 1."
    link = objWorksheet.Cells(i, 1).Value ' 假设链接在第一列

    ' 输出日志 - 打开链接
    WScript.Echo "Opening link: " & link
    objChrome.Get link

    ' 输出日志 - 等待页面加载完成
    WScript.Echo "Waiting for page to load."
    WScript.Sleep 3000 ' 这里可以根据实际情况调整等待时间

    ' 输出日志 - 提取指定元素
    WScript.Echo "Extracting element by ID."
    Set objElement = objChrome.FindElementById("yourElementID") ' 用实际的元素ID替换 "yourElementID"

    ' 输出日志 - 处理提取到的元素
    WScript.Echo "Processing element value."
    WScript.Echo "Element Value: " & objElement.Text

Next

' 输出日志 - 关闭Excel和Chrome浏览器
WScript.Echo "Closing Excel and Chrome browser."

' 关闭Excel和Chrome浏览器
objExcel.Quit
objChrome.Quit

' 释放对象
Set objElement = Nothing
Set objChrome = Nothing
Set objWorksheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing

当使用Python时,你可以使用openpyxl库来处理Excel文件,以及selenium库来控制浏览器。确保你已经安装这两个库:

pip install openpyxl selenium

接下来是一个简单的Python脚本,实现了类似的功能:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from openpyxl import load_workbook
import time

# 打开Excel工作簿
workbook = load_workbook('C:/路径/至/你的/工作簿.xlsx')
worksheet = workbook['Sheet1']  # 将 "Sheet1" 替换为你的工作表名称

# 设置Chrome浏览器
chrome_service = ChromeService(executable_path='C:/路径/至/chromedriver.exe')  # 替换为你的chromedriver路径
driver = webdriver.Chrome(service=chrome_service)

# 循环处理每一行
for row in worksheet.iter_rows(min_row=2, max_row=worksheet.max_row, values_only=True):
    # 读取链接
    link = row[0]  # 假设链接在第一列

    # 打开链接
    driver.get(link)

    # 等待页面加载完成
    time.sleep(3)  # 这里可以根据实际情况调整等待时间

    # 提取指定元素
    element_id = 'yourElementID'  # 用实际的元素ID替换 "yourElementID"
    element = driver.find_element(By.ID, element_id)

    # 输出日志 - 处理提取到的元素
    print(f"Processing link: {link}")
    print(f"Element Value: {element.text}")

# 关闭Excel和Chrome浏览器
workbook.close()
driver.quit()

请确保你已经正确配置Chrome浏览器和chromedriver,并替换文件路径、工作表名称、链接列和元素ID。这个示例会打印出处理的信息,你可以根据需要进行适当调整。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容