我尝试创建一个输入网络凭据的脚本,但是当我将表单的网址(https://accounts.sap.com/saml2/idp/sso/accounts.sap.com)直接放在浏览器中时,我发现它显示了一个消息说:
错误身份提供商无法处理身份验证请求 接收。删除浏览器缓存和存储的cookie,然后重新启动 你的浏览器。如果您仍然遇到问题,请发送电子邮件至 sso@sap.com
但是,如果我在浏览器中输入https://launchpad.support.sap.com/,它会重新启动相同的网址而不会显示错误消息。
这是我使用的脚本:
Call Main
Function Main
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
IE.Navigate "https://launchpad.support.sap.com/#/softwarecenter"
Wait IE
With IE.Document
.getElementByID("j_username").value = "USERNAME"
.getElementByID("j_password").value = "PASSWORD"
.getElementsByName("frmLogin")(0).Submit
End With
End Function
Sub Wait(IE)
Do
WScript.Sleep 500
Loop While IE.ReadyState < 4 And IE.Busy
End Sub
但是脚本不会等待URL更改并搜索元素。
有人知道如何等到网址更改吗?
答案 0 :(得分:0)
他们的服务器使用重定向。 (f12&gt; IE中的网络选项卡)。你应该导航到 https://accounts.sap.com/
IE.Navigate("https://accounts.sap.com")
你还应该确保&#34;记住我&#34;复选框已关闭,因此网站cookie不会在您下次运行脚本时尝试自动登录。
.getElementById("rememberme").checked = false;
每次运行脚本时,都可以使用IE开发工具(f12)删除网站cookie。
理想情况下,您想要注销&#39;他们的网站每个测试周期,以便每次运行脚本时,都会在其服务器上创建一个新会话。