我通过Excel插件设置通过VBA构建了一个非常复杂的SeleniumBasic,该插件与领先的票务系统网站之一进行交互,以剪贴和填充数据。该系统可与90多个不同的字段/可点击项进行交互,并具有3个不同的页面,6个不同的选项卡以及嵌套的弹出窗口...部署给每天使用20次自动化的120个用户。
它已经完美运行了一年多了...
我们刚刚在同一系统上配置了20个用户,而他们的自动化功能却无法正常工作。
这是我研究的地方:
这就是我的立场。我想知道是否缺少一些关键的见解,或者是否有一种解决方法可以使Chrome的更新版本重试这些字段。或者...我是否需要尝试使用SeleniumBasic以外的VBA / Selenium工具来解决此问题。或者...我需要将这20个用户回滚到旧版的Chrome。
感谢分享您的专业知识。
''''Check to see if there are any aliases=================================
For AliasCheck = 2 To AliasCounter + 1
If Hash = Sheets("Temp Subjects & Locations").Range("AY" & AliasCheck) Then
AliasName = Sheets("Temp Subjects & Locations").Range("AY" & AliasCheck)
AliasCount = AliasCount + 1
AliasDisplayName = Sheets("Temp Subjects & Locations").Range("AZ" & AliasCheck)
temp1 = ""
temp2 = ""
Call countryDictionary
'drops the country back into Excel to later remove the dupes
temp1 = Sheets("Temp Subjects & Locations").Range("BA" & AliasCheck)
temp2 = dict(temp1)
Sheets("Temp Subjects & Locations").Range("BG" & AliasCount + 1) = temp2
''''Click to add AKA's names
iframeText = "iframe_win_" & AddParty
robot.SwitchToDefaultContent
robot.SwitchToFrame iframeText
iframeTracker = iframeTracker + 1
iframeText = "iframe_win_" & iframeTracker
robot.SwitchToDefaultContent
robot.SwitchToFrame iframeText
robot.FindElementById("X_SUBJECT_ALTERNATE_NM.X_ALTERNATE_NM").SendKeys (AliasDisplayName)
robot.FindElementById("dijit_form_Button_0").Click
End If
Next AliasCheck
AddParty变量是一种跟踪我们来自的弹出窗口数量的方法。 iFrameTracker变量是一种跟踪我们要弹出的窗口的数量的方法...系统会按顺序对弹出窗口进行编号...而不是易读的名称...
较新的系统会将其简化为SendKeys,然后决定不起作用。接下来在简历上,它将拒绝找到“确定”按钮(“ dijit_form_Button_0”)
这是我正在使用的代码,以查看是否可以使用“恢复下一个”而不是“恢复”来重试
robot.FindElementById("X_SUBJECT_ALTERNATE_NM.X_ALTERNATE_NM").SendKeys (AliasDisplayName)
Do While FailRetry = True
FailRetry = False
robot.FindElementById("X_SUBJECT_ALTERNATE_NM.X_ALTERNATE_NM").SendKeys (AliasDisplayName)
Loop
errHandler4:
If errorCounter < 21 Then
Application.wait (Now + TimeValue("00:00:01"))
errorCounter = errorCounter + 1
FailRetry = True
Resume Next
Else
MsgBox "Reached 20 second timeout. Stopping processing."
Exit Sub
End If