
NoSuchElementException was unhandled by user codeAn exception of type 'OpenQA.Selenium.NoSuchElementException' occurred in WebDriver.dll but was not handled in user codeAdditional information: Unable to locate element: {"method":"CSS selector","selector":"#assessment-472 .status-PushedToSEAS"} 它就在这里抛出:
Thread.Sleep(600);wait.Until(drv => drv.FindElement(By.CSSSelector("#" + assessmentQueueID + " .status-PushedToSEAS"))); 我可以看到浏览器打开,我看到它到达那一点,我可以检查元素以查看元素是否存在.它的ID完全正确.
我们有这个问题很多,到目前为止解决方案是在它前面抛出Thread.Sleep(600)(或类似的时间). wait.Until()的重点是不必这样做,这使我们的测试套件变得非常长.另外,正如您在上面的示例中所看到的,有时我们甚至在将Thread.Sleep()放在它前面之后也会遇到问题,我们必须延长时间.
为什么.NET Selenium的WebDriver.Until()不起作用,并且有一种不同的方式来做同样的事情而不需要等待一段时间?同样,问题是间歇性的,这意味着它有时只会发生,它可能发生在任何数量的wait.Until()语句中,而不仅仅是显示的那个!
编辑:
这是一个类变量.
私人WebDriver等等;
它实例化如下:
this.wait = new webdriverwait(driver,TimeSpan.FromSeconds(10));解决方法 我决定不使用webdriverwait.Until(),而是在主驱动程序上使用隐式等待:
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
为了给我这个想法,我在一个不同的问题上充分赞扬了this answer.
总结以上是内存溢出为你收集整理的c# – .NET Selenium NoSuchElementException; WebDriverWait.Until()不起作用全部内容,希望文章能够帮你解决c# – .NET Selenium NoSuchElementException; WebDriverWait.Until()不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)