当我尝试点击复选框时出现错误
browser.checkbox(:id, 'AgreeToProceedWithPersonalData').click
Element is not clickable at point (314.5, 448). Other element would receive the click: <label for="AgreeToProceedWithPersonalData"></label>
当我点击下面的元素时,我会打开协议页面。
browser.label(:for, 'AgreeToProceedWithPersonalData').click
如何设置复选框并且不打开协议?
<div class="checkbox">
<input data-val="true" data-val-mustbetrue="Ваше согласие необходимо для продолжения" data-val-required="The I agree to proceed personal data field is required." id="AgreeToProceedWithPersonalData" name="AgreeToProceedWithPersonalData" type="checkbox" value="true" autocomplete="off" checked="checked">
<label for="AgreeToProceedWithPersonalData">I agree to proceed personal data.
<a href="/client/Questionnaire/Agreement?type=Private&targetElement=AgreeToProceedWithPersonalData" class="moddialog">Read the agreement</a>
</label>
<span class="field-validation-valid" data-valmsg-for="AgreeToProceedWithPersonalData" data-valmsg-replace="true"></span>
</div>
答案 0 :(得分:0)
开发人员经常喜欢通过在标准html元素之上分层来制作漂亮的东西,而且驱动程序并不喜欢这样。
请不要过度使用它,因为对大多数事情来说这不是好习惯,但在这种情况下,我发现自己需要这样做:
if ( mBitmap != null ) mBitmap.recycle();
mBitmap = null;
答案 1 :(得分:0)
如果fire_event不起作用,很可能在页面上有一些非常自定义的javascript。因此很难建议,如果您提供页面的网址进行试验,那就太好了。
然而,你可以尝试这样的建议,没有保证(只是猜测)
browser.execute_script("window.stop")# That will stop all the scripts on the page. May be usefull may be not
browser.execute_script("document.getElementById('AgreeToProceedWithPersonalData').click();")# That will perform click using pure javascript