我试图操作的元素是一个下拉自动填充文本框。然而,这不是一个普通的文本框:
<input class="rad-input acInput float_left edScheduleList
ui-autocomplete-input" style="width: 234px; font-size: 12px;
font-family: Segoe UI, Arial, Times New Roman; padding-left: 4px;
line-height: 12px;" placeholder="Select Schedule..." data-bind="click: _editorOverlay.Overlay.CustomRecVM.scheduleData.ac.dropdownArrowClick,
enable: _editorOverlay.Overlay.CustomRecVM.scheduleEnabled,
jqAuto: { autoFocus: true },
jqAutoSource: editorOverlay.Overlay.CustomRecVM.scheduleData.list,
jqAutoQuery: editorOverlay.Overlay.CustomRecVM.scheduleData.GetList,
jqAutoValue: _editorOverlay.Overlay.CustomRecVM.scheduleData.selectedID,
jqAutoSourceLabel: 'Text',
jqAutoSourceInputValue: 'Text',
jqAutoSourceValue: 'Value',
jqChange: _editorOverlay.Overlay.CustomRecVM.ScheduleIndexChanged" id="domId08015369399681067" autocomplete="off">
我无法通过id,cssSelector,xpath,className,name或class找到它。我尝试了部分或包含文本,但仍然没有在哪里。我正在使用Java。
答案 0 :(得分:0)
我发现我可以使用cssSelector作为类名。我仍然是Selenium的新手,并且不知道我可以组合类名和cssSelector方法。可以使用以下代码操作上述元素:
driver.findElement(By.cssSelector
("input[class='rad-input acInput float_left edScheduleList ui-autocomplete-input']"));
感谢帮助人员,班级名字真的让我失望。我想,因为选择器回来了,我不得不以不同的方式对待它。