excel - 在 excel VBA 中激活 selenium bot 窗口
问题描述
我正在尝试激活 selenium 机器人的窗口...首先我声明了这一行
Dim mainWin As selenium.Window
然后在 Get 行之后
.Get "https://www.kuwaitcourts.gov.kw/searchPages/searchCases.jsp"
我把这条线设置了窗口
Set mainWin = .Window
在消息框之前,我想激活机器人窗口,所以我使用了这些行
mainWin.Activate
MsgBox "Click OK After Entering Captcha", 64
循环开始时没有问题,因为机器人窗口已经处于活动状态,但至于第二个循环,我没有激活机器人窗口任何想法如何克服这一点并在需要时使 selenium 机器人窗口处于活动状态积极的
感谢先进的帮助
解决方案
使用javascript返回焦点?因为前面有窗户
bot.ExecuteScript "window.focus();"
暂停输入的方法:
- 输入框:
为什么不使用 inputBox(设置为数字类型)来捕获条目?下面是伪代码(假设验证码在需要切换到的 iframe 中。
Dim captchaBox As Object, captcha As Long
.SwitchToFrame (.FindElementById("someId")) '<==some identifier for iframe if present
Set captchaBox = .FindElementByCss("#txtCaptia")
' Accept Number from the user
captcha = Application.InputBox("Please enter 4 digit captcha:", "Captcha", , , , , , 1)
captchaBox.Value = captcha
'.SwitchToDefaultContent ''<back to main if in iframe and is required even after submit.
DoEvents
并循环直到所需的长度:
代码
Dim submitButton As Object
Set submitButton = .FindElementsByCss("#cmdSubmit")
Do
DoEvents
Loop Until submitButtons.count = 0
或者
Dim captcha As Object
Set captcha = .FindElementsByCss("#txtCaptcha")
Do
DoEvents
Loop Until len(captcha.value) = 4
推荐阅读
- python - 使用 FiPy 在 1D 柱坐标上求解 PDE
- javascript - jQuery Validator Form Plugin 在验证之后但在提交之前显示消息
- r - 如何使用ggplot2将子组点图(3)集中在分组箱线图(2)上?
- jsf - 如何使用命令按钮jsf primefaces在ui重复中获取h:outputtext的值?
- xml - 通过 Snowflake UI 查询具有嵌套标签的 XML
- ruby - 从类外部访问实例变量
- python - cv2.CascadeClassifier.detectMultiScale() 以 -215 失败:断言失败
- python - 试图将 2 个变量相乘,但我不断收到错误消息
- elasticsearch - 在 logstash 过滤器中使用 es_bulk 编解码器
- c++ - C++ 重载模式:使用可变 lambda 调用解析