您好我有以下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;
仍然无法找到无法找到元素的错误。
任何帮助都非常感激?
答案 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,那应该不会那么不同。