嗨,大家好,所以我是一个亲戚(阅读:完整)新手Selenium/Java/HTML所以道歉,如果我问明显。 我需要的是能够Selenium无法点击特定复选框
- 点击具体复选框1和
- 如果具体复选框2被选中,取消选中它
这里是网站HTML:
特定复选框1
<div class="checkbox">
<label id="agree_to_terms_label" for="agree_to_terms_join" class="visible">
<input id="agree_to_terms_join" name="agree_to_terms" type="checkbox" data-required="true" data-required-message="You need to agree to the *** Account Holder agreement" data-change="" class="parsley-validated">
<span class="left-block"></span>
I have read, understand and agree to the <a href="/terms-and-conditions/" target="_blank">*** Account Holder Agreement</a>
and acknowledge <a href="/privacy-policy" target="_blank">*** Privacy Policy</a>
<input type="hidden" name="agree_to_terms" value="yes">
</label>
</div>
特定复选框2:
<div class="checkbox">
<label id="agree_to_offers_label" for="agree_to_offers" class="visible">
<span class="left-block">
<input id="agree_to_offers" name="agree_to_offers" type="checkbox" data-required-message="" data-change="" checked="checked" value="yes">
<span>By joining *** you'll be notified of exclusive offers and account updates via email</span>
</span>
</label>
</div>
我徒劳的尝试:
的Xpath:
driver.findElement(By.xpath("//input[@id='agree_to_terms_join' and @type='checkbox']")).click();
元素不可见
driver.findElement(By.xpath("//*[@id='agree_to_terms_join']/parent::label")).click();
点击股利而不是
driver.findElement(By.xpath("//*[@id='agree_to_terms_label']/input")).click();
内的HREF超链接
元素不可见
CSS:
driver.findElement(By.cssSelector("input[id = 'agree_to_terms_join'][type = 'checkbox']")).click();
元素不可见
by.className:
driver.findElement(By.className("checkbox")).click();
打开超链接
我周围的论坛看看并看到提及元素被隐藏起来 - 但是我无法找到任何内嵌框架或其他任何看起来隐藏了bug子手的东西?
任何帮助将不胜感激!
请检查是否是帧 – iamsankalp89
您好我查了框架,但它并不像有一个。现在看来似乎不是另一个原因(这我还不知道)可见 – KZNKatana
ü可以分享网址 – iamsankalp89