2016-08-20 53 views
0

我想我的腳本,並不斷收到此錯誤消息。我不知道爲什麼,因爲我的xpath是正確的。我甚至試圖改變它幾次,仍然得到相同的錯誤信息......有沒有人有解決這個問題?Selenium Webdriver C#VS:腳本失敗,NoSuchElementException

類型「OpenQA.Selenium.NoSuchElementException」的一個例外發生在WebDriver.dll但在用戶代碼中沒有處理

附加信息:沒有這樣的元件:無法找到元素:{「方法」: 「的xpath」, 「選擇器」: 「//輸入[@ ID = '密碼']」}

(會話信息:鉻= 52.0.2743.116)

(驅動程序信息:chromedriver = 2.22.397933( 1cab651507b88dec79b2b2a22d1943c01833cc1b),platform = Windows NT 10.0.10586 x86_64)

回答

0

如果你正在NoSuchElementException,可能有以下原因: -

  • 可能是當你要尋找的元素,它不會出現在DOM,所以你應該實現WebDriverWait到等到元素可見如下: -

    IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 
    IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("Password"))); 
    
  • 可能是該元素是任何frameiframe內。如果是,你需要一個frameiframe發現如下元素之前切換: -

    IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 
    
    wait.Until(ExpectedConditions.FrameToBeAvailableAndSwitchToIt("frame name or id")); 
    
        IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("Password"))); 
    
+0

謝謝:)我會嘗試:) – Rose

相關問題