[英]How to Click on a Checkbox Selenium
我的目标是选中网站上的复选框。 的HTML:
<label class="checkbox" for="are_terms_agreed">
<input name="terms" id="are_terms_agreed" class="checkbox__input required-entry validate-checkbox" value="1" type="checkbox">
<span class="checkbox__span">
<i class="checkbox__icon"></i>
</span>
<span class="checkbox__title">
I have read and agree to the
<span class="signup__label-terms">
<a onclick="return false;" href="https://shop.adidas.ae/en/help/terms-conditions.html" class="js-dialog-btn" data-target="js-dialog-terms">
Terms & Conditions
</a>
for website use
</span>
</span>
</label>
原始链接: https : //shop.adidas.ae/zh/checkout/onepage/ (您可能必须在购物车中添加鞋子,然后进行结帐过程才能查看我正在查看的页面)
我尝试了几种不同的方法来完成此任务。 首先,我尝试访问
IWebElement termsandconditions2 = driver.FindElement(By.XPath("//label[@class = 'checkbox']//label[@for = 'are_terms_agreed']"));
我得到错误:
WebDriver.dll中发生了类型为'OpenQA.Selenium.NoSuchElementException'的未处理异常。其他信息:无法找到元素:{“”方法“:” xpath“,”选择器“:” // label [@class ='checkbox'] // label [@for ='are_terms_agreed']“}
我也尝试过:
IWebElement termsandconditions = driver.FindElement(By.CssSelector("span[class*='checkbox__span']"));
这基本上是单击实际的“检查”图标,而不是像我之前尝试的那样检查整个复选框。 运行此命令时,出现错误:
WebDriver.dll中发生类型'OpenQA.Selenium.ElementNotVisibleException'的未处理的异常其他信息:元素当前不可见,因此可能无法与之交互
我尝试使用向下滚动代码,但没有任何反应。
有什么帮助吗? 谢谢
根据坐标单击事件。 试试吧。
Actions action = new Actions(driver);
action.MoveToElement(driver.FindElement(By.Xpath("//*[@id='co-terms-form']/label[1]/span[1]")), 2, 2).Click().Perform();
要么:
driver.FindElement(By.Xpath("//*[@id='co-terms-form']/label[1]/span[1]").CLick()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.