implicitlyWait()不起作用

时间:2018-03-13 11:49:00

标签: selenium selenium-webdriver automation webdriver

    String baseURL = "http://output.jsbin.com/osebed/2";
    WebDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.get(baseURL);

    Select muldrpdwn = new Select(driver.findElement(By.id("fruits")));

    muldrpdwn.selectByVisibleText("Banana");
    //muldrpdwn.selectByIndex(3);
    muldrpdwn.selectByVisibleText("Orange");
    muldrpdwn.selectByVisibleText("Apple");

    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;

    muldrpdwn.deselectAll();

我想选择多个文本并等待10秒,然后取消全部取消。  选择和取消选择工作正常。  但两者都在发生,就像没有插入等待,这不是因为我插入10秒等待。  怎么了?

1 个答案:

答案 0 :(得分:1)

隐含等待 Thread.sleep()。它被定义了一次,当尝试定位它们时,它将使驱动程序等待 向上 10秒,以便元素存在于DOM中(使用driver.findElement)。

来自WebDriver: Advanced Usage

  

隐式等待是告诉WebDriver在尝试查找一个或多个元素时,如果它们不能立即可用,则会在一定时间内轮询DOM

您可以使用expected conditions的显式等待来等待某个条件。如果您想等待整整10秒钟(推荐),请使用Thread.sleep(10000)