c# - 无法使用 Selenium webdrive (c#) 选择复选框
问题描述
我已经为此困惑了几个小时了。检查过 Stackoverflow 上的类似问题,但无法找到解决方案。
我有一个复选框,我正在尝试使用 Selenium webdriver 进行检查,但是当我运行脚本时,我没有收到任何错误消息,但该复选框仍未选中。
我正在使用下面的行来选择并选中该框
IWebElement checkBox = m_driver.FindElement(By.XPath("//div[2]/label/span"));
checkBox.Click();
我已经从下面复制了 HTML。
<div class="input-group single-option label-empty" >
<label class="" >
<input type="checkbox" name="privacy" value="true" required />
<span>I have read and understood the <a data-toggle="#privacy-terms"
data-group="privacy-terms">Privacy Policy</a> and <a data-toggle=
"#terms" data-group="privacy-terms">Terms and Conditions</a>. </span>
</label>
我真的很感激一些帮助。我对自动化很陌生……而且C#
不幸的是,我无法发布该网址,因为它是一个密码客户端站点。如果我可以发布 HTML,那可能会有所帮助...
我已经从相关页面发布了 html,但删除了客户端名称:)
如果我通过开发人员工具选中复选框Chrome
并复制Xpath
,我会得到这个。
IWebElement checkBox = m_driver.FindElement(By.XPath("/html/body/div[1]/main/section/form/div[2]/label/input"));
我重新运行它并Selenium
产生错误。
消息:OpenQA.Selenium.WebDriverException:未知错误:元素在点 (491、593) 处不可点击。其他元素将收到点击:...(会话信息:chrome=71.0.3578.98)(驱动程序信息:chromedriver=2.45.615291(ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),平台=Windows NT 10.0.17134 x86_64)
这是勾选了复选框的开发人员工具的屏幕截图。可能与“跨度”有关吗?
解决方案
我想到了。我没有使用“checkBox.Click();”,而是使用了“checkBox.SendKeys(Keys.Space);
它有效。现在我正在尝试对 recaptcha 做同样的事情,根据定义,这应该是困难的。
推荐阅读
- c# - 从数据库更新模型崩溃
- javascript - JSON问题似乎应该有效
- r - 在R中按名称模式选择列表元素
- azure - Azure 上的 Spark 堆空间和简单电子邮件
- c# - 在不同的表单上将值从一个 Datagridview 传输到另一个 Datagridview C#
- javascript - undefined 不是对象(评估 this.props.navigation.navigate)
- ssis - 是否可以使用脚本任务更改 SSIS 包中变量的值?
- c# - 如何在 4.5.2 .Net 版本的 C# 中使用 ReactiveList
- python - UnboundLocalError: 赋值前引用的局部变量 't' | 已经定义
- css - 背景与背景颜色 CSS