Selenium 在Python中,它是.is_selected()(两个更改)。在这里,使用您的HTML对我来说很好。因此,还有一件事你没有告诉我们。它怎么不起作用?它找到了什么吗?SendKeys也是C#驱动程序的解决方案。谢谢。我发现我也必须使用ChromeDrive
Selenium 在Python中,它是.is_selected()(两个更改)。在这里,使用您的HTML对我来说很好。因此,还有一件事你没有告诉我们。它怎么不起作用?它找到了什么吗?SendKeys也是C#驱动程序的解决方案。谢谢。我发现我也必须使用ChromeDrive,selenium,webdriver,selenium-webdriver,xpath,Selenium,Webdriver,Selenium Webdriver,Xpath,在Python中,它是.is_selected()(两个更改)。在这里,使用您的HTML对我来说很好。因此,还有一件事你没有告诉我们。它怎么不起作用?它找到了什么吗?SendKeys也是C#驱动程序的解决方案。谢谢。我发现我也必须使用ChromeDriver发送空格键的方法。我用Chrome Drive v2.14和IEDriver 2.44测试了发送空格键的方法。上述解决方案非常完美。如果您想添加额外的检查,如果复选框是否已选中,u可以执行以下操作。请尝试{IWebElement Target
在Python中,它是
.is_selected()
(两个更改)。在这里,使用您的HTML对我来说很好。因此,还有一件事你没有告诉我们。它怎么不起作用?它找到了什么吗?SendKeys也是C#驱动程序的解决方案。谢谢。我发现我也必须使用ChromeDriver发送空格键的方法。我用Chrome Drive v2.14和IEDriver 2.44测试了发送空格键的方法。上述解决方案非常完美。如果您想添加额外的检查,如果复选框是否已选中,u可以执行以下操作。请尝试{IWebElement TargetElement=driver.FindElement(By.XPath(xPathVal));如果(!TargetElement.Selected){TargetElement.SendKeys(Keys.Space);}}catch(异常e){}在Python中是.send_key(keys.SPACE)
而不是.SendKeys(keys.SPACE)
(3个区别)。键
需要selenium.webdriver.common.keys导入键。这里的类型转换似乎过时了。它与以前的答案有什么不同?在Python中是.send_key>(Keys.SPACE)
而不是.SendKeys(Keys.SPACE)
(三个不同)。键
需要selenium.webdriver.common.Keys导入键的。在Python中,它是(三个变化)。是的,这似乎是一个更健壮的解决方案,不需要假设复选框的当前状态。在Python中,它是。is_selected()
(两个更改)。这是什么语言?Java?(问题指定了Java,但至少有3个答案使用了C。)是的,这似乎是一个更健壮的解决方案,不需要假设复选框的当前状态。在Python中,它分别是(三个更改)和(小写)。在Python中,它是。is_selected()
(两个更改)。它与其他答案有什么不同?什么语言?使用(大写“c”)表明它是(Java和Python都被排除在外)。包括Python在内的所有其他绑定都使用小写(.click()
)。在Python中是。send_keys(keys.SPACE)
而不是。SendKeys(keys.SPACE)
(三个区别)。keys
需要selenium.webdriver.common.keys导入keys
。在Python中是。click()
(小写)。在Python中,它是.send_keys(keys.SPACE)
而不是。SendKeys(keys.SPACE)
(三个不同)。keys
需要来自selenium.webdriver.common.keys的。什么语言?使用.Click()
(大写字母“c”)表明它是(类似的)。所有其他绑定,包括Python,都使用小写(.click()
)。最后一部分中的语言是什么?使用(大写“c”)表明它是小写的(Java和Python都排除了)。所有其他绑定,包括Python,都使用小写(.click()
)。
<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>
IWebElement elementToClick = driver.findElement(By.xpath(""//input[contains(@id, 'lstCategory_0')]"));
elementToClick.Click();
if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
driver.findElement(By.id("idOfTheElement")).click();
}
//label[text()='Seaside & Country Homes']/preceding-sibling::input[@type='checkbox']
//label[text()='housingmoves']/preceding-sibling::input[@type='checkbox']
//table/descendant::span/input[@type='checkbox']
List<WebElement> checkbox = driver.findElements(By.name("vehicle"));
((WebElement) checkbox.get(0)).click();
<.input type="checkbox" name="vehicle" value="Bike">I have a bike<br/>
<.input type="checkbox" name="vehicle" value="Car">I have a car<br/>
public void SetCheckboxStatus(string value, bool toCheck)
{
// Get the label containing the checkbox state
IWebElement labelElement = this.Driver.FindElement(By.XPath(string.Format("//label[.='{0}']",value)));
string checkboxId = labelElement.GetAttribute("for");
IWebElement checkbox = this.Driver.FindElement(By.Id(checkboxId));
if (toCheck != checkbox.Selected)
{
checkbox.Click();
}
}
private void ClickAllCheckboxes()
{
foreach (IWebElement e in driver.FindElements(By.xpath("//input[@type='checkbox']")))
{
if(!e.Selected)
e.Click();
}
}
if (driver.Capabilities.BrowserName.Equals(“internet explorer"))
driver.findElement(By.id("idOfTheElement").SendKeys(Keys.Space);
else
driver.findElement(By.id("idOfTheElement").Click();
String housingmoves="//label[contains(text(),'housingmoves')]/preceding-sibling::input";
String season_country_homes="//label[contains(text(),'Seaside & Country Homes')]/preceding-sibling::input";
driver.findElement(By.xpath(housingmoves)).click();
driver.findElement(By.xpath(season_country_homes)).click();
getDriver().findElement(By.cssSelector("<tag name>[id*='id pattern to look for']")).click();
if (((RemoteWebDriver)driver).Capabilities.BrowserName == "firefox")
{
// Firefox
driver.FindElement(By.Id("idOfTheElement")).Click();
}
else
{
// Chrome and Internet Explorer
driver.FindElement(By.Id("idOfTheElement")).SendKeys(Keys.Space);
}
isChecked = driver.findElement((By.id("idOftheElement"))).getAttribute("name");
if(!isChecked.contains("chkOptions$1"))
{
driver.FindElement(By.Id("idOfTheElement")).Click();
}
try
{
IWebElement TargetElement = driver.FindElement(By.XPath(xPathVal));
if (!TargetElement.Selected)
{
TargetElement.SendKeys(Keys.Space);
}
}
catch (Exception e)
{
}
driver.findElement(By.xpath(".//*[@id='theID']")).sendKeys(Keys.SPACE);
@foreach (var item in Model)
{
<tr>
<td>
<div id="@item.Id" class="checkbox">
<label><input type="checkbox" class="selectone" value="@item.Id"></label>
</div>
</td>
<td val="@item.Id">
@item.Detail
</td>
<td>
<div>@item.Desc
</div>
</td>
<td>
@Html.ActionLink("Edit", "Create", new { EditId = item.Id })
</td>
</tr>
}
var table = driver.FindElement(By.TagName("table"));
var tds = table.FindElements(By.TagName("td"));
var itemTds = tds.Where(t => t.Text == itemtocheck);
foreach (var td in itemTds)
{
var CheckBoxTd = tds[tds.IndexOf(td) - 1];
var val = td.GetAttribute("val");
CheckBoxTd.FindElement(By.Id(val)).Click();
}
List<WebElement> allCheckbox = driver.findElements(By
.xpath("//input[@type='checkbox']"));
for (WebElement ele : allCheckbox) {
if (ele.isSelected()) {
ele.click();
}
}