excel - UserForm WebBrowser 网页抓取
问题描述
我在 UserForm 中有 Web 浏览器,并希望自动执行 UserForm 中按钮的过程。因此,一旦用户使用浏览器窗口代码单击 UserForm 上的按钮,就应该进行网络抓取。如果它不在 UserForms Web 浏览器中,则此方法有效。所以现在当它在 UserForm 中时,它会执行代码,直到:
Application.Wait (Now + TimeValue("0:00:04"))
.Document.querySelector("[name=import_budgets]").Click
之后我在.Document.querySelector("[name=import_budgets]").Click
. 网络浏览器也没有“刷新”(移动到下一页),我看到它已经完成.Document.querySelector(".data .a_1_611").Click
并且只有在收到错误后才移动到下一页。Web 浏览器执行操作,但用户看不到它们,这可能是它无法进行下一个操作的原因。如何使这项工作正确?
With LCountry.WebBrowser1
Application.Wait (Now + TimeValue("0:00:02"))
If ThisWorkbook.Sheets("Other Data").Range("AL21").Value = 2 Then
.Document.querySelector(".data .a_1_611").Click
Else
.Document.querySelector(".data .a_1_610").Click
End If
Application.Wait (Now + TimeValue("0:00:04"))
.Document.querySelector("[name=import_budgets]").Click
'Unload IE
If Err <> 0 Then
MsgBox "There was an error running the code. Check your Internet and VPN connection. Please try one more time!"
Else
End If
On Error GoTo 0
End With
解决方案
通过添加以下内容解决了此问题:
While .Busy
DoEvents
Wend
While .ReadyState <> 4
DoEvents
Wend
到代码中的每个 Web 抓取操作。
推荐阅读
- bash - 如何在 unix bash shell 中进行两个特定日期和时间的减法或加法
- dart - 从 Future / Stream 返回字符串列表
- sonarqube - sonarqube 中的 sonar.sources 和 sonar.tests 之间的区别
- django - 如何在字段定义之外的 Django imagekit 中指定图像规格?
- zend-framework3 - ZF3 路由语言环境参数
- angular - Ngbootstrap 不显示模态窗口
- python - 无法从字典python中提取值
- react-native - 对选项卡反应本机路由器通量身份验证流程,如在未授权的情况下显示帐户选项卡和在授权的情况下显示配置文件选项卡
- ios - Swift Core Data 多对多关系处理,codegen 为 Manual/None
- reactjs - React.JS:ReferenceError:未定义要求