java - Selenium 中的 SearchContext 和 WebDriver 接口(interface)有什么区别或者它们之间有什么关系?

标签 java selenium selenium-webdriver interface webdriver

我在某个地方看到我们可以同时使用两者

WebDriver driver = new FirefoxDriver()

SearchContext driver = new FirefoxDriver()

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

最佳答案

搜索上下文

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

<小时/>

接口(interface)SearchContext

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

  • WebDriver
  • WebElement

实现类是:

  • ChromeDriver
  • EdgeDriver
  • EventFiringWebDriver
  • FirefoxDriver
  • InternetExplorerDriver
  • OperaDriver
  • RemoteWebDriver
  • RemoteWebElement
  • SafariDriver

SearchContext 只有两个方法:

<小时/>

示例

example使用 SearchContext 的方法如下:

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

    }
    return elements;
}

关于java - Selenium 中的 SearchContext 和 WebDriver 接口(interface)有什么区别或者它们之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59745618/

相关文章:

java - Selenium 通过 java - sendKeys 不会发送特定字符到输入

powershell - 在Powershell中使用NSSM安装服务

java - Selenium (WebDriver) 支持的浏览器

java - Java中匹配URL的正则表达式

java - Axis、Java 消息传递服务和 MIME header

java - 给定一个webelement,单击它会导致页面重新加载吗?

java - 截屏并通过 Selenium WebDriver 和 java 中的 FileUtils 进行复制

python - webelement.text 不起作用(浏览器 = webdriver.Firefox)

java - 为什么 Java 中不是默认启用所有密码套件?

java - 管理多个锁