使用 Selenium WebDriver C# 从下拉列表中选择一个值 [重复]

2023-12-23

我在使用 WebDriver 的 C# 绑定从下拉列表中选择值时遇到了困难。我过去既没有研究过 C# 也没有研究过 WebDriver。我正在使用 WebDriver - Selenium-dotnet2.0b3 和 Visual Studio C# 2010 Express 版本。 我已将 WebDriver.Common、WebDriver.Firefox 和 WebDriver.Remote 添加到我的解决方案中。我尝试使用这个 -

IWebElement dateOfBirth = webdriver.FindElement(By.Id("join_birth_day"));
List<IWebElement> dateOfBirthOptions = (List<IWebElement>)dateOfBirth.FindElement(By.TagName("option"));

foreach(IWebElement dateOfBirthOption in dateOfBirthOptions)  
{
    if (dateOfBirthOption.Equals("3"))
    {
        dateOfBirthOption.Select();
    }
}

但在 NUnit 中运行我的解决方案时看到错误

LiveCams.CreateAccount.createAccount:
System.InvalidCastException : Unable to cast object of type 'OpenQA.Selenium.Firefox.FirefoxWebElement' to type 'System.Collections.Generic.List`1[OpenQA.Selenium.IWebElement]'.

如果我不进行转换,那么甚至无法构建解决方案。 我想我在这里错过了一些微不足道的事情。有谁可以在这里指导我吗? 在 Selenium 1.0 中,下拉选择曾经如此简单:-/


要从下拉菜单中选择一个选项,请使用以下代码

  1. 根据文本选择值

    new SelectElement(driver.FindElement(By.XPath(""))).SelectByText("");
    
  2. 根据 Value 选择一个值

    new SelectElement(driver.FindElement(By.XPath(""))).SelectByValue("");
    
  3. 根据索引选择值

    new SelectElement(driver.FindElement(By.XPath(""))).SelectByIndex(0);
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Selenium WebDriver C# 从下拉列表中选择一个值 [重复] 的相关文章

  • TFS API - 缓慢的 foreach 变更集迭代

    问题背景 我正在使用 TFS api 查询 TFS 服务器上的大范围 1 600 文件 我从每个文件中收集其所有 ChangesetId 然后将其收集在列表中 代码 这是我正在使用的代码 它可以正确生成 QueryHistory 方法中指定
  • C 语言中的套接字如何工作?

    我对 C 中的套接字编程有点困惑 You create a socket bind it to an interface and an IP address and get it to listen I found a couple of
  • 枚举 EMF 时丢失文本

    我在列举发票 emf http www mediafire com kdjwvvo7odyvwa6并将其复制到另一个但文本丢失了 令人惊讶的是 当我将其输出到窗口时 它绘制得非常完美 int CALLBACK EnhMetaFileProc
  • 如何确定 Android UI 元素的 XPATH。硒 + Appium

    我目前正在使用 Appium 和 Selenium 自动化 Android 应用程序 并且在通过 ID 定位元素时遇到了一些问题 我想使用 XPATH 但不知道如何获取 android UI 元素的 XPATH 有谁知道如何确定元素的 XP
  • 如何在Qt3D中优化点云渲染

    我正在尝试使用 Qt3D 显示大型点云 20M pts 我第一次发现这个图书馆https github com MASKOR Qt3DPointcloudRenderer https github com MASKOR Qt3DPointc
  • 如何在方法模板中使用模板类型的引用传递参数?

    我目前正在努力编译以下代码 首先是包含带有方法模板的类的头文件 ConfigurationContext h class ConfigurationContext public template
  • 获取不带波形符的泛型类名称[重复]

    这个问题在这里已经有答案了 我正在尝试获取类型名称T使用这个 typeof T Name 班级名称是ConfigSettings 而不是返回ConfigSettings它正在返回ConfigSettings 1 有什么具体原因吗 我怎样才能
  • 如何修复 TcpClient Ip 标头错误校验和

    我正在使用 System Net Sockets TcpClient 类 但每当我通过网络发送自定义数据包时 我都会在wireshark捕获上看到错误的校验和 我该如何修复它 问题是您在网络接口上设置了校验和卸载 这会导致您的网卡计算校验和
  • MouseDoubleClick 事件不会冒泡

    我的场景经过简化 我有一个包含员工行的 ListView 在每个员工行中 都有 增加 和 减少 按钮来调整他的工资 假设在我的程序中 双击 员工 行意味着 解雇此人 The problem是当我快速单击 增加 时 这会触发 ListView
  • DataGridView小数不排序

    好吧 我有一个 DataGridView 它的数据绑定如下 dataGridViewChartOre AutoGenerateColumns false dataGridViewChartOre DataSource xml GetOreC
  • 如何使用 HttpClient 验证 Pardot API

    我花了大约一天的时间尝试对 Pardot API 进行身份验证 它不喜欢我尝试发布消息正文的方式 所以我想发布对我有用的解决方案 如果您有任何建议或替代方案 我想听听 ServicePointManager SecurityProtocol
  • 如何在PropertyGrid中自定义绘制GridItem?

    我想以与所有者在 ListView 详细信息 和其他控件中绘制项目类似的方式在 PropertyGrid 中绘制属性值 如果将属性声明为 Color 类型 则其值将使用字符串描述旁边的颜色样本来绘制 如果属性是图像类型 则在字符串描述旁边绘
  • 在 Ubuntu 16.04 上编译 PCL 1.7,CMake 生成的 Makefile 中出现错误

    我正在尝试让 PCL 1 7 点云库 而不是其他 pcl 在 Ubuntu 16 04 上运行 我最终希望用于 C 的东西 但现在我只是想让这些例子工作 我使用的是 Ubuntu GNU 5 3 1 附带的默认编译器和 Cmake 版本 3
  • 为什么 g++ 在编译的二进制文件中存储类名?

    我注意到如果我跑strings在我编译的程序上g 输出包含它使用的各种类的名称 该程序是用 O3并且没有 g or p 并且当我剥离二进制文件时 类名仍然存在 我想知道为什么有必要g 将此信息存储在二进制文件中 出现的类名似乎都是使用虚函数
  • 使用客户端 hello 消息进行 TLS 协议检测

    我需要检测网络流量中的 https 数据包 到目前为止 我将所有 443 标记为 https 但我不想再在这种情况下使用端口信息 检查客户端问候消息是否足够 Check 22 and version info 0300 0301 or 03
  • 如何获取数字列的确切类型,包括。规模和精度?

    有没有办法知道列中列的确切类型DataTable 现在我正在这样做 DataTable st dataReader GetSchemaTable foreach DataColumn col in st Columns var type c
  • 如何正确对齐 WPF GeometryGroup 中的路径?

    我正在使用一个GeometryGroup在圆的中心绘制一个符号 下面的示例显示了我在对此进行实验时的尝试之一 它具有从同一原点 32 32 出发的三条直线
  • Opencv 对象检测:ORB GPU 检测器和 SURF GPU 描述符提取器

    我只是做了一个小实验来尝试不同的检测器 描述符组合 我的代码使用 ORB GPU 检测器来检测特征 并使用 SURF GPU 描述符来计算描述符 我使用 BruteForceMatcher GPU 来匹配描述符 并使用 knnMatch 方
  • 我可以创建一个 List> 吗?

    我正在尝试创建一个列表WeakReference使用 4 5 泛型实现 这样我就可以避免类型检查和转换WeakReference目标 但 WeakReference
  • 如何将 IDispatch* 放入托管代码中

    我一直在考虑尝试使用 C 编写一个实现 OPOS 服务对象的 COM 对象 我已经使用自动化和 MFC 在 C 中完成了它 这并不太困难 所以我坚持尝试将其转换为一种方法 我将排除界面中的其他方法 因为它们很简单 或者我希望如此 id 6

随机推荐

  • 如果列属于区间数据类型,则数据框过滤列

    我有一个数据框数组 其中包含一些列 其中之一是 时间 我想过滤时间在特定间隔内的行 为了简化问题 我制作了一个具有整数值和整数间隔的数据框 data pd DataFrame A 1 2 3 4 5 6 7 8 9 interval pd
  • CSRF InvalidAuthenticityToken 与 Rails 和 React

    我无法让我的代码与 CSRF 令牌一起使用 我有一个 axiosconfig 文件 我在其中设置 axios 并将其导出 import axios from axios const csrfToken document querySelec
  • Angular-UI-Router 与 Html5Mode 刷新页面问题

    我有一个应用程序使用角度 ui 路由器 with html5模式 真 当运行和路由到其他状态时 一切似乎都工作正常 我的默认状态是应用程序 日历这是在 module run 期间设置的 但是当我刷新页面而我当前处于其他路线时 可以说应用程序
  • 是否可以在不迭代行的情况下检查 pdostatement::fetch() 是否有结果?

    我有一个页面需要检查结果 我想出的方法是成功的 但会迭代第一行结果 有没有一种方法可以在不迭代的情况下进行检查 或者返回到第一行而不再次执行查询 我正在这样做 q pdo prepare SQL q gt execute array foo
  • 如何在 Retrofit 中处理动态 JSON?

    我正在使用改造高效网络库 但我无法处理包含单个前缀的动态 JSONresponseMessage这会改变为object随机地 相同的前缀 responseMessage 在某些情况下 动态地 更改为字符串 响应消息的Json格式对象 app
  • 如何使用 Impress.js 获得完整、无缝的轮换?

    我正在使用 impress js 创建 3D 效果 在其中您位于四个页面内 就好像它们是房间中的四堵墙一样 要查看下一页 请使用简单的 90 度旋转 这些页面已经使用 impress js 进行了布局 page 1 div class st
  • 在向 jTable 添加新列后插入新行会出现数组越界异常

    我使用以下代码创建了 JTable 然后我添加两个新列 然后 在将行数设置为零后 当我尝试向表中添加新行时 出现数组越界异常 请帮忙 creating table structure jTable2 new javax swing JTab
  • 您如何组织您的 ATG 项目?

    如果您为 ATG Dynamo 进行开发 您如何构建模块和依赖项 您如何构建项目 源目录 JAR 配置等 您如何构建和部署 你使用什么工具 我们有一个带有单个 ATG 模块的整体架构 我们最初使用 JHTML 开发此网站 此后在此 ATG
  • JavaScript 中图像的相对路径

    我有一个 javascript 模块 它创建一个带有关闭按钮 X 图片的 div 这个 div 和 javascript 被放置在我网站上的很多地方 相对路径解决方案 当页面包含 javascript 并且 javascript 对图像使用
  • git (ls-remote) - 列出按创建日期排序的“远程”分支

    我知道通过下面的 git 命令我可以列出我所有的 远程 分支 someone someone pc somerepo git ls remote Username for https somegit com someone Password
  • scss:compass、gruntjs 和 Bower 安装基础 - 导入路径

    所以我有 yeoman 创建的以下目录结构 calvin tree L 2 Gruntfile js app 404 html bower components foundation favicon ico index html robot
  • Masonry 不适用于 Ember 中的无限滚动

    我正在尝试使用 Jquery Masonry 来无限滚动我的图片库 Masonry 仅适用于路线中的图像 但是在将新图像对象推送到之后images array 新形象出现在Dom但砌体不起作用 我见过Ember js jQuery maso
  • Delphi - 在主窗体创建上停止应用程序

    情况如下 在应用程序主窗体上创建事件时 某些条件未得到满足 因此应用程序需要关闭 是的 这是一个糟糕的设计 但是应用程序应该如何关闭 使用Application MainForm Close 生成一个AV 应用程序 终止 http docw
  • 什么是 Play 框架 Web 服务器

    有谁知道play使用哪个网络服务器 框架 我计划使用 Play 制作一个小型 Intranet 应用程序原型 我想知道是否应该使用默认的播放 Web 服务器或内部使用的 Apache 或 IIS 我不会预测应用程序的多个实例正在运行 也不会
  • 如何强制 xcode 对特定文件使用 ARC?

    我的项目包含 XMPPFramework 其中包含必须与 ARC 一起使用的文件 但我的项目是非 ARC 并且由于链接到它的某些其他库而无法转换 如何强制编译器仅在某个类上使用 ARC 这是以下问题的反问题这个问题 https stacko
  • svn relocate 错误 -- 无效的重定位目标

    我们的 svn 存储库的位置已更改为不同的 url 此外主干 分支和标签的相对路径也移动了一点 现在当我尝试svn relocate 我收到此消息 Invalid relocation destination https my repo s
  • Databricks (Spark):.egg 依赖项未自动安装?

    我有一个本地创建的 egg依赖的包boto 2 38 0 我使用 setuptools 来创建构建发行版 一切都在我自己的本地环境中运行 因为它获取boto正确地从PiP 然而在databricks当我将库附加到集群时 它不会自动获取依赖项
  • 如何快速创建一个可选的闭包?

    我试图在 Swift 中声明一个带有可选闭包的参数 我声明的函数如下所示 class Promise func then onFulfilled gt onReject gt if let callableRjector onReject
  • VSCode:防止分割编辑器在聚焦时调整大小?

    打开多个编辑器组 并且其中一个编辑器组足够小 聚焦较小的编辑器组会导致它变大 直到您切换回另一个编辑器 我希望将所有内容保留为我设置的大小 有没有设置可以防止这种情况发生 Note how it has to be made small f
  • 使用 Selenium WebDriver C# 从下拉列表中选择一个值 [重复]

    这个问题在这里已经有答案了 我在使用 WebDriver 的 C 绑定从下拉列表中选择值时遇到了困难 我过去既没有研究过 C 也没有研究过 WebDriver 我正在使用 WebDriver Selenium dotnet2 0b3 和 V