2017-04-03 42 views
0

嗨,我有以下的HTML,如何檢查標題爲AA電子郵件地址的元素啓用與否

<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電子郵件地址是否已驗證?作爲啓用或不使用硒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

這是一個跨越權利,它不會啓用或diabled屬性 – SaiPawan

+0

在UI中,它的複選框。所以我想測試它的啓用與否 – user3331421

+0

你嘗試過'driverIE.FindElement(By ...)。Selected'?讓我知道這是否有效,我會把它作爲答案。這個元素是'Enabled',因爲你可以使用它,所以你要找的是'Selected'我相信。雖然你的錯誤導致我相信你的選擇器沒有找到合適的元素。 – mrfreester

回答

0

我不知道Selenium,但是一個純粹的DOM方法來查明一個字段是否被鎖定將通過它的鎖形圖標。

對於您的字段agf_accountaccessemailaddressverified有一個鎖圖標span標記爲ID agf_accountaccessemailaddressverified_lock

當鎖定它的風格display: block;, 當解鎖,它具有風格display: none;

如果你可以檢查與硒你應該能夠正確地測試它。

相應的input沒有被禁用,它只是隱藏在後臺。

0

我不熟悉它的使用,但如果硒的行爲類似於Chrome的F12控制檯,這將返回你所需要的布爾:

frames[0].Xrm.Page.getControl("agf_accountaccessemailaddressverified").getDisabled();

我的意思是,如果你打開記錄在CRM中,按F12並將其粘貼到控制檯中,根據該字段是否被禁用,它將返回true或false。如果Selenium看起來像運行JavaScript,它應該沒有那麼不同。

相關問題