繁体   English   中英

如何单击复选框硒

[英]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 &amp; 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM