首页 > 解决方案 > Selenium 中的 SearchContext 和 WebDriver 接口有什么区别或它们之间的关系是什么?

问题描述

我见过我们可以同时使用的地方

WebDriver driver = new FirefoxDriver()

或者

SearchContext driver = new FirefoxDriver()

我很困惑这两个不同的接口有什么区别?

标签: javaseleniumselenium-webdriverinterfacewebdriver

解决方案


搜索上下文

SearchContext是一个接口,它是用于应用程序搜索的上下文信息的运行时容器。它包含与搜索相关的元信息,并且可以保存对可能对搜索和安全有用的外部上下文的引用。用于搜索时,它持有对 AppsWebContext 的引用,可以通过 getAppsContext 获取。此上下文被传递给大多数应用程序插件代码,其中自定义实现可以获得运行时上下文信息。


接口搜索上下文

SearchContext 接口有 2(两个)子接口:

  • 网络驱动程序
  • 网元

实现类是:

  • 铬驱动程序
  • 边缘驱动程序
  • 事件触发WebDriver
  • 火狐驱动
  • InternetExplorer驱动程序
  • OperaDriver
  • 远程网络驱动程序
  • 远程WebElement
  • Safari驱动程序

SearchContext 只有两个方法:


例子

使用示例如下SearchContext

@Override
public List<WebElement> findElements(SearchContext searchContext) {
    List<WebElement> elements = new ArrayList<>();
    try {
        elements.add(this.findElement(searchContext));
    } catch (Exception ex) {

    }
    return elements;
}

推荐阅读