excel - 网页抓取 - 填写表格 - 运行时错误 - “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 文件中获取数字并将其粘贴到“增值税号”字段中,然后单击验证,然后刮掉公司的名称。
解决方案
您尚未使用显式值初始化计数,因此它的起始值将为 0。没有范围 A0 因此您的错误。您还需要更改循环中的计数(可能递减至 0)以满足您的退出条件。
推荐阅读
- javascript - Vuex:如何更新这个对象的唯一元素?
- .net - 在 EF Core 中对多对多关系执行高效查询
- c# - Automapper 在 Sql 中使用 ViewModel 属性
- c# - EPPLUS 上是否有类似 get_item(index) 的方法
- c# - 如何简化这个冗长的 ADO.NET 数据库代码
- r - 如何在 copula 包的 mvdc 函数中定义特定的边际分布(ARMA-GARCH)?
- mysql - SQL Server 中 Mysql 的 SHOW INDEX 替代方案是什么?
- ubuntu - 如何在 Ubuntu 服务器上的 CodeIgniter 中使用小写的控制器名称?
- c# - 如何摆脱数据网格单元格内容中的边框?
- python - django python执行mssql查询并打印到网页