java - Selenium 中的 SearchContext 和 WebDriver 接口有什么区别或它们之间的关系是什么?
问题描述
我见过我们可以同时使用的地方
WebDriver driver = new FirefoxDriver()
或者
SearchContext driver = new FirefoxDriver()
我很困惑这两个不同的接口有什么区别?
解决方案
搜索上下文
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;
}
推荐阅读
- java - Arraylist 中不止一种类型
- javascript - docker compose 将 mongodb 容器与节点 js 容器连接起来
- javascript - 从javascript触发击键
- python - Python中的网状字典
- unique - Graphcool:如何创建多字段唯一约束?
- javascript - 如何创建一个 jQuery 循环来更改基于 JSON 文件的锚链接
- oracle - Oracle,XMLQUERY 不适用于更高的 oracle 版本
- ios - 如果我们使用多个文本字段,如何自动获取 OTP
- python - Pycharm中的DLL导入错误,但在外面工作正常
- sql - 有多少不同的产品有一个市场 SQL