在Selenium WebDriver中,如何找到具有DOM ID且没有className的元素?

时间:2016-04-19 19:25:24

标签: java selenium elements

我试图操作的元素是一个下拉自动填充文本框。然而,这不是一个普通的文本框:

<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。

1 个答案:

答案 0 :(得分:0)

我发现我可以使用cssSelector作为类名。我仍然是Selenium的新手,并且不知道我可以组合类名和cssSelector方法。可以使用以下代码操作上述元素:

driver.findElement(By.cssSelector
            ("input[class='rad-input acInput float_left edScheduleList ui-autocomplete-input']"));

感谢帮助人员,班级名字真的让我失望。我想,因为选择器回来了,我不得不以不同的方式对待它。