Selenium C#Webdriver,试图等待所有操作完成后再关闭

Selenium C#Webdriver,试图等待所有操作完成后再关闭,c#,selenium-webdriver,C#,Selenium Webdriver,我使用的是Selenium Web驱动程序版本2.48.2 我的问题是,我想等待加载最后一个url,然后拍摄屏幕截图并关闭浏览器和驱动程序 因此,如果我调试会话,我可以看到我的所有方法都被立即调用,而不是等待浏览器加载,这是一个问题,因为如果我在最后一行代码中使用Quit()方法,浏览器会立即关闭,并且不会及时运行每一步 如果删除Quit()方法,浏览器将按预期运行我的所有场景 那么,有没有办法让驱动程序等到浏览器完成我的所有步骤 非常感谢您的帮助。这取决于正在发生的事情。最好的方法是使用显式等

我使用的是Selenium Web驱动程序版本2.48.2

我的问题是,我想等待加载最后一个url,然后拍摄屏幕截图并关闭浏览器和驱动程序

因此,如果我调试会话,我可以看到我的所有方法都被立即调用,而不是等待浏览器加载,这是一个问题,因为如果我在最后一行代码中使用Quit()方法,浏览器会立即关闭,并且不会及时运行每一步

如果删除Quit()方法,浏览器将按预期运行我的所有场景

那么,有没有办法让驱动程序等到浏览器完成我的所有步骤


非常感谢您的帮助。

这取决于正在发生的事情。最好的方法是使用显式等待,等待元素出现在屏幕上

这将在其他进程完成后运行,您可以使用Wait.Until()测试新元素。

use waits
IWebDriver driver = new FirefoxDriver();
    driver.Url = "http://somedomain/url_that_delays_loading";
    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
    {
        return d.FindElement(By.Id("someDynamicElement"));
    });
setTimeout(functionThatAddsAnElementToTheDom,1);