【问题标题】:What is the return type of driver.findelement /driver.getwindowhandles()?driver.findelement /driver.getwindowhandles() 的返回类型是什么?
【发布时间】:2018-03-10 14:32:22
【问题描述】:

driver.findelement的返回类型是什么 driver.getwindowhandles()的返回类型是什么?

【问题讨论】:

标签: selenium selenium-webdriver


【解决方案1】:

findElement()

findElement() 方法使用给定的方法找到第一个 WebElement。所以它返回一个WebElement

一个例子:

WebElement field = driver.findElement(By.xpath("//button[@class='btn']"));

getwindowhandles()

getwindowhandles() 方法返回一个 set 的窗口句柄,可以通过 WebDriver 实例遍历所有打开的窗口,方法是将它们传递给 switchTo() 函数。

一个例子:

Set<String> mySet= driver.getWindowHandles();

【讨论】:

    【解决方案2】:

    在 C# 中 FindElement() 返回一个 WebElement,它是页面上元素的表示:

    WebElement frame = driver.findElement(By.tagName("iframe"));
    

    WindowHandles() 返回当前驱动程序窗口句柄的字符串表示:

    foreach (string handle in driver.WindowHandles) {
        driver.SwitchTo().Window(handle);
    }
    

    这个link 为我多年前在 selenium 工作时节省了很多时间。

    【讨论】:

      【解决方案3】:
      List<webelement> lt = driver.findElements(By.locator);
      
      Set<String> set= driver.getWindowHandles();
      

      【讨论】:

      • 请不要只添加一个代码块作为答案。给它一些上下文。请简要告诉我们您为什么认为这可以回答问题。
      【解决方案4】:

      driver.findelement 返回 WebElement driver.getwindowhandles 返回一组窗口

      【讨论】:

        【解决方案5】:

        findelement 返回指定定位器的第一个匹配元素的对象。所以,它的返回类型是一个对象。

        findelements 的返回类型是一个数组。

        【讨论】:

          【解决方案6】:

          findElement 方法的签名如下。

          WebElement findElement(By by)
          

          所以它应该返回 WebElement 接口的引用。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-04-04
            • 2018-01-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-08
            • 2011-09-18
            相关资源
            最近更新 更多