我需要一些帮助。Chrome (v 75.0.3770.100( 在 Excel (2013( VBE 中使用 Selenium Basic ChromeDriver (v 75.0.3770.140(。有一个输入框,如果客户 id# 存在,则会生成动态列表。我希望填写客户 ID#,然后从动态下拉列表中选择。但第一步,我正在努力将我的文本输入到框中。我可以点击该框
obj.FindElementById("selectcustTxt").Click
但是当我尝试填写该框时:
obj.FindElementById("selectcustTxt").Value = "1111"
我收到错误运行时错误"424":需要对象
我尝试了以下 FindElementByXPath 与两者.值和 .文本,但得到相同的运行时错误"424":需要对象
obj.FindElementByXPath("//input[@class='form-control cust-autosuggest ng-pristine ng-valid ng-touched'][@id='selectcustTxt']").Value = "1111"
这是 HTML:
<div class="form-group search-field"><input id="selectcustTxt" type="text" class="form-control cust-autosuggest ng-valid ng-touched ng-dirty ng-valid-parse" autocomplete="off" plshholder="Enter Cust name" autocomplepte="off" ng-model="cust" suggest-type="custService" sh-autosuggest="custAddresses" data-validation="required">
要在所需元素中发送字符序列,您可以使用以下定位器策略之一:
-
使用
FindElementByCss
:obj.FindElementByCss("input.form-control.cust-autosuggest.ng-valid.ng-touched.ng-dirty.ng-valid-parse#selectcustTxt").SendKeys ("1111")
-
使用
FindElementByXPath
:obj.FindElementByXPath("//input[@class='form-control cust-autosuggest ng-valid ng-touched ng-dirty ng-valid-parse' and @id='selectcustTxt']").SendKeys ("1111")
参考
您可以在以下位置找到一些相关的讨论:
- 如何将文本发送到某些HTML元素?
- 需要帮助用硒将数字填充到Chrome输入框中