我正在尝试登录到站点,并且正在使用FindElementById
。在下面的代码中,using的第一部分SendKeys
效果很好,但是当尝试对密码字段使用相同的技术时,我收到一条错误消息,告诉我该元素不可交互
Sub Test()
Dim bot As New WebDriver
With bot
.AddArgument "--disable-notifications"
.Start "Chrome", "https://www.excelforum.com/excel-programming-vba-macros/"
.Get "/"
.FindElementById("navbar_username").SendKeys "username"
.FindElementById("navbar_password").SendKeys "password"
'.FindElementByName("vb_login_password").SendKeys "password"
Stop
End With
End Sub
你很近。具有id属性的Password字段具有以下属性:navbar_password
style="display: none;"
因此,您将无法与该元素进行交互。
要将字符序列发送到“用户名”和“密码”字段,您可以使用以下定位策略之一:
使用FindElementById()
:
.FindElementById("navbar_username").SendKeys "username"
.FindElementById("navbar_password_hint").SendKeys "password"
使用FindElementByCss()
:
.FindElementByCss("input#navbar_username").SendKeys "username"
.FindElementByCss("input#navbar_password_hint").SendKeys "password"
使用FindElementByXPath()
:
.FindElementByXPath("//input[@id='navbar_username']").SendKeys "username"
.FindElementByXPath("//input[@id='navbar_password_hint']").SendKeys "password"
您可以在以下地方找到一些有趣的讨论:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句