量角器 - 更改css属性以与元素交互

时间:2017-03-31 00:10:23

标签: javascript protractor

目前在我正在测试的页面中,我在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;
}

1 个答案:

答案 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());

希望有所帮助