在浏览器上使用 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>
元素存在但不存在。我怎样才能点击这个复选框?
最佳答案
问题是元素是隐藏的,所以 selenium 可见性检查不允许你点击元素,所以使用 Javascript 点击这里,它会工作。
写这段代码
b.input(name: 'generalConditions').fire_event :click
或者
b.input(id: 'GC').fire_event :click
或者
b.checkbox(name: 'generalConditions').fire_event :click
关于jquery - 元素可以在浏览器上被 jquery 单击,但在 ruby-watir 中不能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867293/