2017-10-19 28 views
0
<div class="ann_search_technique_container"> 
    <h1>DÉTAILS TECHNIQUES</h1> 
    <h3>BOȊTE DE VITESSE</h3> 
    <div class="ann_search_technique_check_container"> 
     <div class="ann_search_technique_check_grp"> 
      <span>Automatìque</span> 
      <input type="checkbox" id="ann_search_automatique" 
    formControlName="automatic"> 
     </div> 
     <div class="ann_search_technique_check_grp"> 
      <span>Manuelle</span> 
      <input type="checkbox" id="ann_search_manuelle" 
    formControlName="manuel"> 
     </div> 
    </div> 
</div> 

我量角器代码不能用量角器点击复选框

element(by.css('#ann_search_automatique')).click(); 

,但它显示错误“元素不可见的”运行时。

回答

0

您可以给browser.sleep()并尝试。如果不工作,你可以用javascriptexecutor

var elm = element(by.css('#ann_search_automatique')) 
browser.executeScript("arguments[0].click();", elm.getWebElement()); 
0

尝试错误消息表明,这是与该元件为在交互时可见的问题。

首先,确保元素在Protractor尝试与其交互时实际可见。我已经有了一些实例,例如扩展表单等页面动画;呈现一个临时不可见的元素。

请尝试ProtractorExpectedConditions.prototype.visibilityOf。

这个例子是从量角器5.2.0 API文件采取:

ExpectedConditions.visibilityOf

一种期望用于检查的元件是存在于页面 和可见的DOM 。可见性表示该元素不仅显示了 ,而且其高度和宽度均大于0.此 与“invisibilityOf”相反。

var EC = protractor.ExpectedConditions; 
// Waits for the element withid 'abc' to be visible on the dom. 
browser.wait(EC.visibilityOf($('#abc')), 5000); 
0

对我来说,它看起来像你的Chackbox实际上是一种无线电按钮的功能。 manuelleautomatique被选中并可见。

因此首先尝试单击父元素:

$('ann_search_technique_check_container').click(); 

如果不工作,尝试随时点击“错误”的元素(触发它来隐藏,让对方“对”元素出现)。

element(by.css('#ann_search_manuelle')).click(); 

Bytheway:element(by.css())相同$(),所以这是同我的线以上:

$('#ann_search_manuelle').click();