Selenium Basic VBA从网页到Excel的复制日期随机交换日期和月份



我使用Selenium Basic VBA在Excel的URL表中循环,打开每个URL,在该网页上找到一个特定的日期字段,并将日期作为字符串返回到Excel表上的一列。

10次中有9次是完美的,但似乎是随机的,日期被返回,日期和月份被交换,即网页显示";05/11/2019";Excel列显示";11/05/2019";。

发生这种情况时,Excel中的日期也会右对齐,而所有其他日期则显示为左对齐。当我编辑左对齐的单元格,然后选择另一个单元格时,它们会右对齐,而右对齐的单元格保持不变。这本身不是一个问题,但我想知道它是否有问题的线索。

如果有帮助的话,这就是我用来提取数据的VBA代码(我已经在URL中列出了机密但无关的细节(。我用谷歌浏览器。

我不得不添加一个bot.Wait来给页面加载时间,并使用了Application.WorksheetFunction.Trim(),因为网页在日期字符串后面包含一个空格。

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("data")

Dim tbl As ListObject
Set tbl = ws.ListObjects("opportunities")

For i = 1 To tbl.ListRows.Count
If tbl.ListRows(i).Range(10) = "" Then
bot.Get "########" & tbl.ListRows(i).Range(1)
bot.Wait (500)
tbl.ListRows(i).Range(10) = Application.WorksheetFunction.Trim(bot.FindElementByCss(".l-row-block:nth-child(1) .field:nth-child(7) .value").Text)
End If
Next i

任何关于这里可能发生的事情的指导都将非常有用!

请在日期前加上单引号',如下所示。

Application.WorksheetFunction.Trim("'" & bot.FindElementByCss(".l-row-block:nth-child(1) .field:nth-child(7) .value").Text)

最新更新