如何实例化不同版本的 InternetExplorerDriver - Selenium 2?

2023-11-22

只是想知道如何实例化不同版本的 InternetExplorerDriver。

这就是我创建 IE 驱动程序的方法:

WebDriver ieWebDriver = new InternetExplorerDriver();

但我无法区分 IE6、IE7、IE8 和 IE9。

Cheers,


是的你可以。 DesiredCapability 有一个可以使用的公共方法:

this.SetCapability(CapabilityType.BrowserName, "internet explorer");
this.SetCapability(CapabilityType.Version, "8");
this.SetCapability(CapabilityType.Platform, "WINDOWS");

我编写了扩展方法,以便通过此调用更轻松地实例化任何版本:

DesiredCapabilities internetExplorer8 =
                          DesiredCapabilities.InternetExplorer().SetVersion("8");
IWebDriver webDriver = new RemoteWebDriver(seleniumHubUrl, internetExplorer8);

如果您使用 RemoteWebDriver 并设置了多个节点的 Selenium2 网格/集线器,那么这确实有意义。多个虚拟机,每个虚拟机都有不同版本的 Internet Explorer,并且每个虚拟机都是连接到集线器的节点。

以及扩展名:

public static class DesiredCapabilitiesExtension
{
    public static DesiredCapabilities SetBrowserName(this DesiredCapabilities desiredCapabilities, string browserName)
    {
        // make sure the browser name is lowercase
        desiredCapabilities.SetCapability(CapabilityType.BrowserName, browserName.ToLowerInvariant());
        return desiredCapabilities;
    }

    public static DesiredCapabilities SetVersion(this DesiredCapabilities desiredCapabilities, string version)
    {
        desiredCapabilities.SetCapability(CapabilityType.Version, version);
        return desiredCapabilities;
    }

    public static DesiredCapabilities SetPlatform(this DesiredCapabilities desiredCapabilities, string platform)
    {
        // make sure the platform is case sensitive, uppercase to make it work
        desiredCapabilities.SetCapability(CapabilityType.Platform, platform.ToUpperInvariant());
        return desiredCapabilities;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实例化不同版本的 InternetExplorerDriver - Selenium 2? 的相关文章

随机推荐

  • Angular 5 生产构建抛出错误

    我有一个使用版本 5 2 的角度应用程序 在构建生产时抛出以下错误 在本地运行应用程序或运行标准构建时不会抛出错误 必须指定路由或分析模块中的错误 经过研究 错误是由提前编译器抛出的 但我不确定是什么原因导致的 如果有人提出在哪里查看的建议
  • 如何在 Chrome 中分析网络工作者?

    有谁知道在 Chrome 中分析网络工作者的简单方法吗 我发现这个问题从去年开始 但不幸的是 唯一提供的答案不起作用 有什么办法可以做到这一点还是我只是看起来不好看 如果您甚至无法进行分析 这似乎是一个相当大的疏忽 会阻碍 Web 开发 要
  • 根据文本框的输入动态显示/隐藏div

    我正在一个网站上工作 我有一个页面 其中包含这样构建的人员列表 div class personsMenu div class person div class name John div div class age 18 div div
  • Symfony2 错误:加载的类名和声明的类名之间大小写不匹配:

    我正在 Symfony2 上工作 我更新了我的项目composer phar update 现在 当我检查我的网站时app dev php我总是有这个错误 Case mismatch between loaded and declared
  • 在数组中找到一个对象?

    Swift 有类似的东西吗 findWhere在Underscore js 中 我有一个类型的结构数组T并想检查数组是否包含一个结构对象 其name财产等于Foo 尝试使用find and filter 但它们只适用于原始类型 例如Stri
  • 使用常规迭代器向后迭代,还是与反向迭代器作斗争?

    我最近了解了在 C 中使用反向迭代器的正确方法 特别是当您需要擦除迭代器时 看这个问题 and this one 这就是你应该这样做的方式 typedef std vector
  • 方案中定义表达式的类型

    简单地说 我的问题是Scheme中定义表达式的类型是什么 举个例子 define x 5 or define x lambda n n n 这对我来说有点混乱 有人可以帮忙吗 球拍内define是一种特殊形式而不是表达式 因此它本身没有值
  • 屏幕上的客户端矩形坐标

    如何获取窗口客户区相对于屏幕的坐标 我想过使用GetClientRect and ClientToScreen 另外 在浏览器窗口中是什么ClientRect 仅有矩形HTML其中显示的文档 或者它包括浏览器栏和弹出菜单 这可能会缩小尺寸H
  • Java - 从缓冲读取器(从套接字)读取正在暂停线程

    我有一个线程从缓冲读取器读取字符 从套接字创建 如下所示 inputStream new BufferedReader new InputStreamReader clientSock getInputStream 这段代码只能运行一次 例
  • Clojure 1.9 Windows 安装

    过去 我使用 clojure org 提供的 Windows 安装程序在我的各种 Windows 计算机上安装 clojure Clojure 1 9 已经发布几周了 但据我所知 仍然没有 Windows 安装程序或基于 Java 的通用安
  • 特定扩展名的 Directory.GetFiles

    有没有办法简化这个 linq 表达式 或者有更好的方法吗 Directory GetFiles dir SearchOption AllDirectories Where s gt s EndsWith jpg StringComparis
  • 尝试将图表、范围等插入到 Word 时,Excel 2010 VBA 中的复制/粘贴错误

    在研究这个错误时 我得出的结论是 它与剪贴板没有像应有的那样清除有关 这在我们使用 2003 时不是问题 但现在我们使用 2010 我也继承了这段代码来自不再在这里工作的人 运行时错误 4605 此方法或属性不可用 因为剪贴板为空或无效 这
  • SockJS Python 客户端

    我有一个依赖 Websockets 的网站 Java Spring 践踏 Websocket对于 Spring RabbitMQ SockJS 的某些功能 我们正在创建一个基于 Python 的命令行界面 我们希望添加一些使用 websoc
  • 从 WPF 中的 ViewModel 类(MVVM 模式)更新 UI

    我在我的第一个 WPF 应用程序中使用 MVVM 模式 并且我认为有一些非常基本的问题 当用户点击我的视图上的 保存 按钮时 将执行一个命令 该命令调用我的 ViewModel 中的 private void Save 问题是 Save 中
  • 在 Google Colab 上使用最新的 Python 版本

    Google Colab 安装了 Python 3 6 但它不是当前版本的 Python 我该如何在 Google Colab 上将 Python 升级到最新版本 常见问题解答说 Colaboratory 支持 Python 2 7 和 P
  • 在 Linux 上构建和使用用于 C++ 的纯 llvm 工具链

    假设这是可能的 有人可以告诉我 我如何配置 cmake 构建以在 ubuntu 16 04 上创建一个 纯 llvm 工具链 其中包括 clang lld libc libc abi libunwind llvm 编译器 rt 任何其他可能
  • 避免窗口获得焦点

    我正在使用虚拟键盘 问题是当我按下虚拟键盘上的按键时 需要发送数据的窗口会失去焦点 我怎样才能避免这种情况 当键盘窗体接收焦点时 它接收的部分消息是失去焦点的窗口的句柄 wParam 执行您需要执行的操作 并将焦点设置回失去焦点的窗口 编辑
  • 实数 - 如何确定是否需要 float 或 double?

    给定一个真实值 我们可以检查是否float数据类型足以存储数字 或者double是必须的 我知道精度因架构而异 是否有任何 C C 函数可以确定正确的数据类型 有关背景 请参阅每个计算机科学家都应该了解的浮点运算知识 不幸的是 我认为没有任
  • style,格式化切片运算符

    PEP 8没有提到切片运算符 据我了解 与其他运算符不同 它不应该被空格包围 spam 3 5 OK spam 3 5 NOT OK 当使用复杂的表达式时 这是否成立 即哪种风格被认为更好 1 spam ham 66 3 44 eggs 2
  • 如何实例化不同版本的 InternetExplorerDriver - Selenium 2?

    只是想知道如何实例化不同版本的 InternetExplorerDriver 这就是我创建 IE 驱动程序的方法 WebDriver ieWebDriver new InternetExplorerDriver 但我无法区分 IE6 IE7