如何检查标题为AA电子邮件地址的元素是否启用

时间:2017-04-03 15:30:34

标签: selenium dynamics-crm-2013

您好我有以下HTML,

<td class="ms-crm-ReadField-Normal ms-crm-FieldLabel-RightAlign" id="agf_accountaccessemailaddressverified_c" title="AA E-mail Address Verified?">
    <span class="ms-crm-InlineEditLabel">
        <span class="ms-crm-InlineEditLabelText" style="max-width:200px;text-align:Right;width:80%;">
            AA E-mail Address Verified?
        </span>
        <div class="ms-crm-Inline-GradientMask" style="display: none;">
        </div>
    </span>
</td>

我想查看复选框AA电子邮件地址是否已验证?启用或不使用selenium webdriver。

我尝试了以下方法:

bool check = driverIE.FindElement(By.CssSelector("#agf_accountaccessemailaddressverified_c > span:nth-child(1) > span:nth-child(1)")).Enabled;

bool check = driverIE.FindElement(By.Id("agf_accountaccessemailaddressverified_c")).Enabled;

仍然无法找到无法找到元素的错误。

任何帮助都非常感激?

2 个答案:

答案 0 :(得分:0)

我不知道Selenium,但是一个纯粹的DOM方法来确定一个字段是否被锁定将是通过它的锁定图标。

对于您的字段agf_accountaccessemailaddressverified,有一个锁定图标span标记,其ID为agf_accountaccessemailaddressverified_lock

锁定时,它的样式为display: block;, 解锁时,它具有样式display: none;

如果您可以使用Selenium进行检查,您应该能够正确测试它。

相应的input不会被禁用,只会隐藏在后台。

答案 1 :(得分:0)

我不熟悉它的使用方法,但如果Selenium的行为与Chrome的F12控制台类似,则会返回您需要的bool:

<form id="frm.frmEntidade" name="frm.frmEntidade"> <div> <input type="text" ng-model="entidade.cnpj" id="cnpjEntidade" name="cnpjEntidade" required /> <span class="input-group-btn"> <button title="Buscar Entidade" class="btn btn-primary" type="button" ng-click="buscarEntidade(entidade.cnpj)" ng- disabled="frm.frmEntidade.cnpjEntidade.lenght !== 18"> <span class="glyphicon glyphicon-search"></span> </button> </div> </form>

我的意思是,如果您在CRM中打开记录,点击F12并将其粘贴到控制台中,它将返回true或false,具体取决于该字段是否被禁用。如果Selenium看起来像是运行javascript,那应该不会那么不同。