在浏览器上使用jquery,我可以点击元素:
$("input[name=\"generalConditions\"]").click();
但是 - 使用ruby-watir - 我不能:
$browser.element(:css=> 'input[name="generalConditions"]').click
这是HTML:
</section>
<section id="condGenerales" class="generalConditions pageSectionName" data-pagesection="generalConditions">
<div class="conditions">
<p class="titulo2">Condiciones generales</p>
<fieldset class="condicionesGenerales">
<div class="checkboxB">
<input type="checkbox" name="generalConditions" id="GC">
<label for="GC">
* He revisado los trayectos, itinerario y destinos de la reserva, siendo estos correctos. He leído y acepto las
<a href="https://politicaCobros.htm" target="_blank">política de cobros</a>,
<a href="https://privacidad" target="_blank">política privacidad</a>,
<a href="https://poli.htm" target="_blank">condiciones generales</a>
y acepto el pago de <span class="price totalpricecheckout">297,37 <small>€</small></span>
</label>
</div>
<div class="contErrorDatos mt-20" style="display:none">
Para finalizar la reserva, debes aceptar las condiciones generales y de cancelación de esta reserva
</div>
</fieldset>
</div>
</section>
&#13;
元素存在但不存在。我该如何点击这个复选框?
答案 0 :(得分:1)
问题是元素被隐藏,所以selenium可见性检查不允许你点击元素,所以使用Javascript点击这里,它会工作。
编写此代码
b.input(name: 'generalConditions').fire_event :click
或者
b.input(id: 'GC').fire_event :click
或
b.checkbox(name: 'generalConditions').fire_event :click