目前在我正在测试的页面中,我在css中有一个select
display: none
,所以我无法与此元素进行交互。我搜索了但是没有找到任何帮助我的东西。
HTML
<select name="preview_district" placeholder="Departamento" data-native-select="true" data-toggle-placeholder="true">
<option value="*" disabled="" selected="" hidden="">(Selecciona)</option>
<option value="91">AMAZONAS</option>
<option value="5">ANTIOQUIA</option>
</select>
CSS
select[data-native-select="true"] {
display: none;
}
答案 0 :(得分:5)
我假设你正在自动化一个Angular页面,所以我们走了。
首先确保您可以在元素可见时与元素进行交互,您可以在浏览器的DevTools中执行此操作,通过添加display:block
使其可见。然后检查如果更改选择框的值,该值也可以与Angular Binding一起使用。
如果是这样,你可以通过使用以下命令在页面中注入一段Javascript来轻松地使用Protractor显示元素
browser.executeScript('document.querySelector(\'[name="preview_district"]\').style.display = "block"');
这会产生一种承诺,所以要注意这一点!
您也可以传递量角器ElementFinder
,它看起来像这样(使用by.model / by.css /或其他东西)
browser.executeScript('arguments[0].style.display = "block"', element(by.css('.your-selector')).getWebElement());
希望有所帮助