<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 :(得分:0)
你可以给browser.sleep()并尝试。如果这不起作用,您可以尝试使用javascriptexecutor
var elm = element(by.css('#ann_search_automatique'))
browser.executeScript("arguments[0].click();", elm.getWebElement());
答案 1 :(得分:0)
错误消息表明这是在交互时元素可见的问题。
首先,确保在Protractor尝试与其交互时,该元素实际上是可见的。我有一个页面动画,例如扩展形式的实例;呈现暂时不可见的元素。
请尝试ProtractorExpectedConditions.prototype.visibilityOf。
此示例取自Protractor 5.2.0 API文档:
<强> ExpectedConditions.visibilityOf 强>
期望检查元素是否存在于DOM的DOM上 页面和可见。可见性意味着元素不仅仅是 显示但也有一个大于0的高度和宽度 与“不可见性”相反。
示例
var EC = protractor.ExpectedConditions; // Waits for the element withid 'abc' to be visible on the dom. browser.wait(EC.visibilityOf($('#abc')), 5000);
答案 2 :(得分:0)
对我而言,看起来你的Chackbox实际上是一种无线电按钮功能。选择manuelle
或automatique
并且可见。
因此首先尝试单击父元素:
$('ann_search_technique_check_container').click();
如果这不起作用,请尝试始终单击“错误”元素(触发它隐藏并让其他'正确'元素出现)。
element(by.css('#ann_search_manuelle')).click();
Bytheway:element(by.css())
与$()
相同,所以这与我的上一行相同:
$('#ann_search_manuelle').click();