Max*_*mus 40 selenium xpath webdriver selenium-webdriver
如何使用id/xpath检查复选框.有没有类似于selecttext by selecttext的方法.
通过给出所有其他相关问题的示例,我找不到一个正确的解决方案,以简洁的方式工作,通过几行或方法我可以检查chekbox或单选按钮.
任何帮助,将不胜感激.
HTML示例部分如下:
<tbody>
<tr>
<td>
<span class="120927">
<input id="ctl00_CM_ctl01_chkOptions_0" type="checkbox" name="ctl00$CM$ctl01$chkOptions$0"/>
<label for="ctl00_CM_ctl01_chkOptions_0">housingmoves</label>
</span>
</td>
</tr>
<tr>
<td>
<span class="120928">
<input id="ctl00_CM_ctl01_chkOptions_1" type="checkbox" name="ctl00$CM$ctl01$chkOptions$1"/>
<label for="ctl00_CM_ctl01_chkOptions_1">Seaside & Country Homes</label>
</span>
</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
Cod*_*tic 64
选中复选框与单击按钮类似.
driver.findElement(By.id("idOfTheElement")).click();
会做.
但是,您还可以查看是否已选中该复选框.以下代码段检查是否选中了复选框.如果未选中,则选择.
if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
driver.findElement(By.id("idOfTheElement")).click();
}
Run Code Online (Sandbox Code Playgroud)
Sco*_*owe 24
我意识到这个问题已经持续了几个月,但我刚刚找到它并且遇到了同样的问题并找到了解决方案.似乎IE驱动程序不会像其他驱动程序那样与所有内容交互,而复选框就是其中之一.
复选框的技巧是发送Space键而不是使用click(只需要在IE上),就像在C#中一样:
if (driver.Capabilities.BrowserName.Equals(“internet explorer"))
driver.findElement(By.id("idOfTheElement").SendKeys(Keys.Space);
else
driver.findElement(By.id("idOfTheElement").Click();
Run Code Online (Sandbox Code Playgroud)
小智 5
如果要一次单击所有复选框,则可以使用以下方法:
private void ClickAllCheckboxes()
{
foreach (IWebElement e in driver.FindElements(By.xpath("//input[@type='checkbox']")))
{
if(!e.Selected)
e.Click();
}
}
Run Code Online (Sandbox Code Playgroud)
C#解决方案
try
{
IWebElement TargetElement = driver.FindElement(By.XPath(xPathVal));
if (!TargetElement.Selected)
{
TargetElement.SendKeys(Keys.Space);
}
}
catch (Exception e)
{
}
Run Code Online (Sandbox Code Playgroud)
这应该有帮助 -
IWebElement elementToClick = driver.findElement(By.xpath(""//input[contains(@id, 'lstCategory_0')]"));
elementToClick.Click();
Run Code Online (Sandbox Code Playgroud)
您还可以传递一个 id。
如果您想要类似可见文本的内容,您可以按名称“查找元素” (如果它们有名称)。
归档时间: |
|
查看次数: |
240210 次 |
最近记录: |