Excel 很难从工作表中找到网站,然后返回结果

Excel 很难从工作表中找到网站,然后返回结果,excel,selenium,Excel,Selenium,我正试图编写一个脚本,从我在工作表中列出的一组网站中获取数据。我想将刮取的数据返回到单独的工作表中。我还没有弄清楚如何让我的脚本读取第一个工作表条目,返回数据,然后读取第二个,返回数据等。这是我迄今为止写的(正如你所看到的,我只是有一个我正在抓取的第一个网站的示例) 我试过了,我可以让它转到一张工作表并打印输出,但它只打印所有单元格中最后返回的值:-( 选项显式 私有cd作为Selenium.ChromeDriver 亚周刊价格() Option Explicit Private cd As S

我正试图编写一个脚本,从我在工作表中列出的一组网站中获取数据。我想将刮取的数据返回到单独的工作表中。我还没有弄清楚如何让我的脚本读取第一个工作表条目,返回数据,然后读取第二个,返回数据等。这是我迄今为止写的(正如你所看到的,我只是有一个我正在抓取的第一个网站的示例)


我试过了,我可以让它转到一张工作表并打印输出,但它只打印所有单元格中最后返回的值:-(

选项显式 私有cd作为Selenium.ChromeDriver

亚周刊价格()

Option Explicit
Private cd As Selenium.ChromeDriver

Sub WeeklyPrices()

Dim cd As Selenium.ChromeDriver
Dim RowNum As Long, ColNum As Integer
Set cd = New Selenium.ChromeDriver

cd.AddArgument "--headless"

cd.start
cd.get "https://www.hamsmarketing.ca/market_data/January-4-2021/"

'Find Header

Dim H2Headers As Selenium.WebElements
Dim H2Header As Selenium.WebElement

Set H2Headers = cd.FindElementsByCss("h2:nth-of-type(4)")

For Each H2Header In H2Headers

Worksheets.Add
Range("A2").Value = H2Header.Text

RowNum = 1
ColNum = 1
Cells(RowNum, ColNum) = H2Header.Text
'ColNum = ColNum + 1
'RowNum = RowNum + 1
Next H2Header

'H2Header.AsSelect.ToExcel Worksheets.Add.Range("A1")

' Find Prices

Dim OtdListItems As Selenium.WebElements
Dim OtdListItem As Selenium.WebElement

Set OtdListItems = cd.FindElementsByCss("ul:nth-of-type(4)")

For Each OtdListItem In OtdListItems
Range("B2").Value = OtdListItem.Text

    Next OtdListItem

cd.Quit

End Sub
' Open Chrome

Dim cd As Selenium.ChromeDriver
Dim RowNum As Integer, ColNum As Integer
Set cd = New Selenium.ChromeDriver

Dim Count As Integer
For Count = 1 To 2

Dim Value As String
Dim names As Range
Set names = Range("c1:c2")
Dim cell As Range
For Each cell In names

cd.AddArgument "--headless"

cd.start
cd.get cell.Value

'Find Headers

Dim H2Headers As Selenium.WebElements
Dim H2Header As Selenium.WebElement

Set H2Headers = cd.FindElementsByCss("h2:nth-of-type(4)")

For Each H2Header In H2Headers

'Debug.Print H2Header.Text

RowNum = Count
ColNum = 1
Cells(RowNum, ColNum) = H2Header.Text

Next H2Header

' Find Prices

Dim OtdListItems As Selenium.WebElements
Dim OtdListItem As Selenium.WebElement

Set OtdListItems = cd.FindElementsByCss("ul:nth-of-type(4)")

For Each OtdListItem In OtdListItems

'Debug.Print OtdListItem.Text

RowNum = Count
ColNum = 2
Cells(RowNum, ColNum) = OtdListItem.Text

Next OtdListItem

Next cell

Next Count

cd.Quit

End Sub