2016-09-19 35 views
0

我有一个典型的硒问题Ide:[error] = * css找不到元素。典型问题:找不到css元素

我看了论坛,我看到了非常类似的问题(例如,硒-IDE-IDE-2.9.0- [error] = li.xspPickerItem.xspPickerItemHover css元素未找到),试图解决一些问题的建议答案,但我不能。

我的问题的细节如下:

登录:

info] Executing: |click | css=input.select-dropdown.active | | 
[error] Element css=input.select-dropdown.active not found 
[info] Test case failed 

HTML (它包含几个下拉列表):

<div class="row" _ngcontent-pkb-13=""> 
<div class="col s2" _ngcontent-pkb-13=""> 
<label for="groupBy" _ngcontent-pkb-13="">Agrupado por</label> 
</div> <div class="col s5" _ngcontent-pkb-13=""> 
<div class="select-wrapper form-control ng-untouched ng-pristine ng-valid initialized"> 
<span class="caret">/span> 
<input class="select-dropdown" readonly="true" data-activates="select- options-32184002-bd89-baf2-43b8-3d88ae8219e5" value="Todo el territorio" type="text"></input> 
<ul id="select-options-32184002-bd89-baf2-43b8-3d88ae8219e5" class="dropdown-content select-dropdown "> 
<li class=""><span>Todo el territorio</span></li><li class=""><span>Instalaciones Deportivas</span></li><li class=""><span>Parroquias</span></li><li class=""><span>Polígonos Industriales</span> 

(它显示了一个小部分)

如何从下拉菜单中选择任何项目? “Parroquias”

感谢

回答

0

从您发布你不需要“活跃”的定位结束的代码,它应该只是‘CSS = input.select-下拉’不过如果你有多个下拉菜单,如果它们都具有相同的类别,这可能不是定位它们的最有效方式。如果你可以控制代码,你可能需要将id加到下拉列表中,并将其用于目标

至于让它工作,我无法在我的机器上得到一个工作示例,因为它显示为下拉你需要你的CSS,因为你已经编码它只是一个列表,但CSS将其格式化为下拉菜单,而不是使用'select'标签。通常你会在Selenium中使用'选择'命令,目标是下拉菜单,而不是点击命令,但我不确定它是否能够用这个页面编码的方式工作,因为我之前没有过关我的直觉就是没有),所以它可能是你试图点击下拉列表,然后点击特定的列表项。

+0

是的,流程如您所说:“...当您尝试点击下拉列表,然后点击特定列表项目”。 |点击| css = input.select-dropdown.active – kanku

+0

我无法控制代码。是的,流程如您所说:“...点击下拉菜单,然后点击特定列表项”:“| click | css = input.select-dropdown.active”和“|点击| css = li.active> span“。我如何识别“活性”项目? – kanku

+0

当你说活动时,你的意思是只有1个下拉菜单可见,而其他的则是隐藏的?如果是的话,你可以包含“有效”下拉菜单和“无效”下拉菜单的代码?你只需要在这些不同的地方找到这个属性,并让你识别活动属性。 '.active。命令不是在Selenium IDE中可以识别的目标字段,目标字段只处理定位符,IDE会将其作为无效定位符处理,因为它会将.active解释为'class named active',并且您已经指定了类在'input.select-dropdown'中 – Jsmith2800