2017-01-07 32 views

回答

1

只需做Thread.sleep(1000)睡1秒。

0
try { 
        Thread.sleep(4000); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 

似乎要做的伎俩。

1

有不同的方式使用硒等待:

  • Explicit Waits:等待中的代码进一步处理之前发生一定条件
 
    WebDriver driver = new FirefoxDriver(); 
    driver.get("http://somedomain/url_that_delays_loading"); 
    WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement"))); 

此等待长达10秒之前抛出TimeoutException或者如果它发现元素将在0-10秒内返回它

  • Implicit waits:隐式等待是在尝试查找一个或多个元素(如果它们不是立即可用)时告诉WebDriver轮询DOM一段时间。
 

    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")); 

您也可以使用Thread.sleep()方法,不建议这样做,但如果你是刚刚调试,这是最简单的方法。

您可以看看Selenium documentation以更好地了解如何使用等待。

相关问题