如何检查硒中拨动按钮的状态(开或关)?

时间:2018-08-02 09:57:12

标签: selenium-webdriver

我想确认切换按钮的状态是ON还是OFF? 我做了很多尝试,但非常奇怪的是,两种状态的HTML都没有改变。

<div class="c-form-section">
<div class="o-grid">
<div class="o-grid__col o-grid__col--1-of-1">
<div class="o-grid__col o-grid__col--1-of-1 o-grid__col-tb--1-of-2"> </div>
<div class="o-grid__col o-grid__col--1-of-1 o-grid__col-tb--1-of-2 o-grid__col--spaced-tb">
<div class="u-spaced-top--quarter-square">
<section class="c-permission-fields">
<div class="c-permission-fields__block c-permission-fields__block--main ">
<div class="u-display--flex">
<div class="u-flex--grow">
<div>
<label class="c-control c-control--toggle ">
<input id="cardActivity" class="c-control__input" type="checkbox" value="1" name="cardActivity">
<span class="c-control__fake-input"></span>
<span class="c-control__label"> </span>
</label>
</div>
</div>
</div>

我该如何验证呢? 预先感谢!

3 个答案:

答案 0 :(得分:1)

在Java绑定中:

boolean isChecked = driver.findElement(By.id("cardActivity")).isSelected();

或者这是一种检查/取消检查控件的方法:

public void checkCheckbox(boolean checked)
{
    WebElement checkbox = driver.findElement(By.id("cardActivity"));
    if (checked != checkbox.isSelected())
    {
        checkbox.click();
    }
}

此代码可用于所有相同类型的控件,但这只是一般逻辑。

答案 1 :(得分:0)

您可以使用is_selected()(Python):

elem = driver.find_element_by_id("cardActivity")
if elem.is_selected():
    # do stuff if selected

is_selected()将检查是否已选中复选框。

在Java中将是这样:

WebElement element = driver.findElement(By.id("cardActivity"));
if (element.isSelected()){
    //do stuff
}

答案 2 :(得分:0)

Dears使用get_attribute(“ checked”)方法遵循一个片段。分析属性,它非常适合您想要做的事情。

switch = instance.find_by_id(SWITCH_ID)

if switch.get_attribute("checked") == "false":
   # do something because the toggle button is unchecked