2016-08-20 70 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

相关问题