2016-11-28 78 views
0

我正在嘗試將Selenium C#用於CRM 2016 SP1中的自動UI測試。MSD CRM上的Selenium - NavBarOverlay阻止點擊

當試圖單擊ContentIFrame一個元素,我經常得到的異常

Element is not clickable at point (743, 496). Other element would receive the click: <div class="navBarOverlay" id="navBarOverlay" style="display: block;"></div> 

這是由於仍然會覆蓋在navBarOverlay。

我試過很多選擇:

  1. By navBarOverlay = By.Id("navBarOverlay"); wait.Until(ExpectedConditions.InvisibilityOfElementLocated(navBarOverlay));
  2. wait.Until(ExpectedConditions.ElementToBeClickable(elementToClick);
  3. Thread.Sleep(3000);找到elementToClick

到目前爲止,還沒有成功之前找到elementToClick

  • driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0,0,10));前.. 我該怎麼辦?他請?

  • 回答

    1

    我能解決這個問題。 我用js注入隱藏了這個div

    var navbar = WebDriverManager.Driver.FindElement(By.Id("navBarOverlay")); 
    WebDriverManager.Driver.ExecuteJavaScript("arguments[0].setAttribute('style', 'display: none')", navbar);