javascript - 如果在 Protractor js 中找到相同的类列表,则按文本选择下拉选项

标签 javascript css xpath protractor

我在 Protractor 和 javasript 工作。我的页面有 3 个相同类别“imageeditor”的下拉列表。我想选择第二个下拉菜单,然后通过将文本作为参数传递来单击“打包”选项。我希望不同的 xpath 和 css 执行选择选项。

<div class="imageeditor">
<select class="form-control m-b-sm">
<option>Select Image Style</option>
<option value="image-panel">Panel</option>
<option value="image-package-panel">Package</option>
<option value="image-open-panel">Open</option>
</select>
</div>

<div class="imageeditor">
<select class="form-control m-b-sm">
<option>Select Image Style</option>
<option value="image-panel">Panel</option>
<option value="image-package-panel">Package</option>
<option value="image-open-panel">Open</option>
</select>
</div>

<div class="imageeditor">
<select class="form-control m-b-sm">
<option>Select Image Style</option>
<option value="image-panel">Panel</option>
<option value="image-package-panel">Package</option>
<option value="image-open-panel">Open</option>
</select>
</div>

最佳答案

可以通过索引获取想要的select元素:

var desiredImageEditor = $$(".imageeditor select").get(1);

现在,为了选择一个选项,您有多种选择方式。一种是通过类名选择内部选项并单击它:

var desiredOption = desiredImageEditor.$("option.image-package-panel");

desiredImageEditor.click();  // open up dropdown
desiredOption.click();

或者,也应该可以只将键发送到 select 元素:

desiredImageEditor.sendKeys("Package");

还有这个convenient abstraction over select and option.

关于javascript - 如果在 Protractor js 中找到相同的类列表,则按文本选择下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45598959/

相关文章:

javascript - 如何在 .NET Core 中的 View 类中使用 loadjsfile?

javascript - "Cannot call method ' 关于 ' of undefined"问题

html - "overflow: hidden"用于切断 div 容器上的元素的替代方法

html - 防止长单元格内容拉伸(stretch)单元格

selenium - Selenium XPath text()-简单选择似乎不起作用

javascript - 为什么我的雪倒退? (模拟下雪的程序)

javascript - 在特定输入字段和完整表单之间的显示之间切换表单

javascript - Bootstrap 子菜单单击子菜单 2 时如何关闭子菜单 1

python - 获取 html 属性值,属性名称包含冒号和 xpath 表达式

python - 使用scrapy和XPath处理html文本节点