首页 > 解决方案 > 网页抓取 - 填写表格 - 运行时错误 - “1004”

问题描述

我使用了 SeleniumBasic-2.0.9.0.exe 和最新的稳定版本:ChromeDriver 81.0.4044.69

我正在尝试从该网站“ http://ec.europa.eu/taxation_customs/vies/ ”中抓取“名称”数据,我从下拉列表中选择了一个成员国,因此在这种情况下为“ GB-United Kingdom ”。然后输入增值税号(比方说 - “ ”,然后点击验证238554836

我在代码中遇到的问题是

“运行时错误 1004:对象的方法范围 - '全局'失败”

在代码的第 4 行(While语句)

Sub formfill()

Dim Driver As New Selenium.ChromeDriver
Dim count As Long
Sheets("DATA").Activate

Set Driver = CreateObject("Selenium.ChromeDriver")
count = 1

While (Len(Range("A" & Count)) > 0)

Driver.Get "http://ec.europa.eu/taxation_customs/vies/"
Driver.FindElementById("countryCombobox").SendKeys "GB"
Driver.FindElementById("number").SendKeys Range("A" & Count)
Driver.FindElementById("submit").Click

Range("B" & Count)Driver.FindElementByXPath("//table/tbody/tr[6]/td[2]").Text
count = count + 1

Wend
Driver.Quit
End Sub

这是供您参考的图像。错误图像

总结:-

我在 Excel 表中有一个增值税号列表,代码将从 excel 文件中获取数字并将其粘贴到“增值税号”字段中,然后单击验证,然后刮掉公司的名称。

标签: excelvbaseleniumselenium-webdriver

解决方案


您尚未使用显式值初始化计数,因此它的起始值将为 0。没有范围 A0 因此您的错误。您还需要更改循环中的计数(可能递减至 0)以满足您的退出条件。


推荐阅读