WebDriver在Scala中显式等待

ann*_*yed 2 selenium scala webdriver

这里Java显式等待示例将如何用Scala编写:

WebDriver driver = new FirefoxDriver();
driver.get("http://somedomain/url_that_delays_loading");
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
  .until(new ExpectedCondition<WebElement>(){
    @Override
    public WebElement apply(WebDriver d) {
      return d.findElement(By.id("myDynamicElement"));
    }});
Run Code Online (Sandbox Code Playgroud)

mic*_*ebe 6

它看起来非常相似.某些类型和括号可以省略.但是,只要没有使用某些Scala功能的特殊Scala API,它就会看起来像这样(也许更多的点可以被调用):

val driver: WebDriver = new FireFoxDriver
driver.get("http://somedomain/url_that_delays_loading")
val myDynamicElement = new WebdriverWait(driver, 10).until(
  new ExpectedCondition[WebElement] {
    override def apply(d: WebDriver) = d.findElement(By.id("myDynamicElement"))
  })
Run Code Online (Sandbox Code Playgroud)

  • 编译器抱怨直到这一行被改变:`override def apply(d:WebDriver)= {` (2认同)