【问题标题】:Selenium FirefoxDriver page load timeoutSelenium FirefoxDriver 页面加载超时
【发布时间】:2016-01-05 15:03:51
【问题描述】:

有些页面加载速度很慢,因此我需要指定一些页面加载超时时间。例如 60 秒后加载过程将被中断。

如何在我的 Java 应用程序中为 Selenium FirefoxDriver 指定页面加载超时?

【问题讨论】:

    标签: java sockets selenium-firefoxdriver firefox-driver


    【解决方案1】:

    我认为您可以使用 Selenium 支持的显式和隐式等待,您可以在 http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp 中看到

    WebDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("http://somedomain/url_that_delays_loading");
    WebElement myDynamicElement = driver.findElement(By.id("myDynamicElement"));
    

    或者您可以在页面中等待您可能想要获取的一些对象,如下所示(我用 Python 编写,但我认为您可以理解想法)

    while ('Loading' in driver.page_source) and t < 5:
      driver.implicitly_wait(t * time_waiting / 3)
      t =+ 1
    

    【讨论】:

    • 谢谢,但 AFAIK 它不仅会影响 driver.get 方法的超时,还会影响所有其他等待,例如 driver.findElement.. 但我只需要更改 driver.get 的超时方法
    • 你可以试试这个,while ('Something' in driver.page_source) and t
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2013-09-14
    相关资源
    最近更新 更多