一尘不染

尝试使用动态下拉菜单在输入框中填充文本

selenium

我需要一些帮助。在Excel(2013)VBE中使用Selenium Basic ChromeDriver(v
75.0.3770.140)进行Chrome(v75.0.3770.100)。如果存在客户id#,则有一个输入框会生成一个动态列表。我希望填写客户ID#,然后从动态下拉列表中选择。但是第一步,我正在努力将文本输入框。我可以点击带有

obj.FindElementById("selectcustTxt").Click

但是,当我尝试在框中填写以下内容时:

obj.FindElementById("selectcustTxt").Value = "1111"

我收到错误运行时错误“ 424”:必需对象

我尝试同时使用.Value和.Text的以下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">

阅读 195

收藏
2020-06-26

共1个答案

一尘不染

要在所需元素内发送 字符序列,可以使用以下定位策略之一:

  • 使用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")
    

2020-06-26