Selenium webdriver 窗口处理 c# switchTo 失败

2024-01-03

测试过程中会弹出 2 个窗口。

my code:

string BaseWindow = driver.CurrentWindowHandle;                 
ReadOnlyCollection<string> handles = driver.WindowHandles;

foreach(string handle in handles)                    
{                         
    Boolean a = driver.SwitchTo().Window(handle).Url.Contains("Main");
    if (a == true)  
    {       
        InitialSetting.driver.SwitchTo().Window(handle);      
        break;
    }  
}                

我想切换到 url 包含“Main”的窗口。但测试运行时,它不断地在两个窗口之间切换,并且不停歇。

我调试并发现foreach没有收支平衡时boolean a是真的。

我该如何解决这个问题?


//switch to new window 
driver.FindElement(By.Id("link")).Click(); 

//wait for new window to open 
Thread.Sleep(2000); 

//get the current window handles 
string popupHandle = string.Empty; 
ReadOnlyCollection<string> windowHandles = driver.WindowHandles;  

foreach (string handle in windowHandles)  
{  
    if (handle != existingWindowHandle)  
    {  
         popupHandle = handle; break;  
    }  
}  

 //switch to new window 
driver.SwitchTo().Window(popupHandle); 

//check for element on new page 
webElement = driver.FindElement(By.Id("four04msg")); 
if(webElement.Text == "THE CONTENT YOU REQUESTED COULDN’T BE FOUND...")  
{  
    return false;  
}  
else  
{  
    return true;  
}  

 //close the new window to navigate to the previous one
driver.close(); 

//switch back to original window 
driver.SwitchTo().Window(existingWindowHandle);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium webdriver 窗口处理 c# switchTo 失败 的相关文章

  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 为什么我收到“找不到编译动态表达式所需的一种或多种类型。”?

    我有一个已更新的项目 NET 3 5 MVC v2 到 NET 4 0 MVC v3 当我尝试使用或设置时编译出现错误 ViewBag Title财产 找不到编译动态表达式所需的一种或多种类型 您是否缺少对 Microsoft CSharp

随机推荐

  • JfreeChart:将动态日期时间值转换为 XY 图表

    我正在使用 JfreeChart 创建动态图表 目前 我面临创建图表以显示数据库中的动态日期时间值的问题 显示上图 我想将 Y 轴固定为 JAN 到 Dec 的月份 很久以来一直在尝试 但我找不到任何解决方案 请给我解决上述问题的解决方案
  • 在struts 2中将可变数量的参数从表单传递到动作

    我在应用程序中使用 struts2 并在 jsp 中有一个表单 该表单提交给操作类 表单中输入字段的数量在运行时可能会发生变化 因此操作类不能具有固定的参数 setter 和 getter 我试图在单个操作类中捕获这些可变数量的输入 我想知
  • Swing GUI 未更新

    我有一个简单的 Java Swing 应用程序 它使用 zip4j 来加密和解压 zip 文件 这是通过这部分代码完成的 ZipFile zipFile new ZipFile dataStorage zip zipFile setPass
  • flutter中的底部导航栏设计在单击时展开图标

    I need a navigation bar on which I can expand an icon when it s clicked in FlutterBottom Navigation bar design image htt
  • C# 3.0 (2009) 中的 C# 可选属性

    我想知道 C 是否支持如下可选属性 public class Person public string Name get set public optional string NickName get set many more prope
  • 如何使用 window.open() 显示窗口标题?

    我想使用以下命令打开一个新窗口 window open
  • Java代理认证

    我有一个在 Tomcat 6 中运行的 Java Web 应用程序 它从远程 URL 加载 RSS 提要 I use Rome http java net projects rome 为我处理 RSS 提要和不同的格式 连接部分如下所示 t
  • 在 Blazor 页面内渲染 React 组件

    是否可以在 Blazor 页面内呈现 React 组件 我尝试向 Blazor 页面添加脚本标签 但 Blazor 不允许添加脚本标签 感谢你的回答 是否可以在 Blazor 页面内呈现 React 组件 是的 这是可能的 React 是一
  • 使用 JavaScript 处理刷新页面事件

    是否可以使用JavaScript来处理刷新页面的事件 我想要的是 如果用户做出以下行为之一 我会收到通知 refresh page by pressing F5 关闭选项卡或浏览器 输入新网址 然后按 Enter 键 浏览器 显示警告消息
  • clojure cons 与带有惰性序列的 conj

    为什么 cons 在这种情况下可以与lazy seq配合使用 但 conj 却不能 这有效 defn compound interest p i cons p lazy seq compound interest p 1 i i 这不会 它
  • 如何将 HTML 字符串渲染为真正的 HTML?

    这是我尝试过的以及它是如何出错的 这有效 div Hi there gt 这不会 div div description 属性只是一个普通的 HTML 内容字符串 然而 由于某种原因 它被呈现为字符串 而不是 HTML 有什么建议么 Is
  • 如何在Node.js中请求图像并输出图像

    我尝试获取图像并显示在网址上 我用request https github com request request module 例如我想获取图像https www google com images srpr logo11w png 并显
  • 如何降低 Sphinx4 应用程序中的噪音

    我对 sphinx4 和语音识别很陌生 我正在使用 sphinx4 创建语音应用程序 问题是噪声 即使用户没有语音输入 它也会导致程序识别 即即使用户没有语音输入 程序也会将语音转换为文本 从而影响准确性 主要问题是如何实现降噪 这是因为即
  • 如何在 Tomcat 7 中以编程方式检索登录配置?

    在 Tomcat 7 上 我设置了一个领域来让容器管理身份验证过程 我还设置了 web xml 与相应的
  • 如何修复超过 maxWarmingSearchers 的限制?

    任何人都知道为什么以及如何解决这个问题 因为我同时有非常繁忙的更新和搜索 打开新搜索器时出错 超出 maxWarmingSearchers 2 的限制 请稍后再试 根据Solr 常见问题解答 超出 maxWarmingSearchers X
  • TitledBorder 标题更新/刷新延迟,为什么?

    我有一个JPanelA 内有标题边框JPanel B of a JTabbedPanelC 我有一个刷新A和B内容的方法 它会不时被调用 不幸的是 A 和 B 的所有项目都及时刷新 但 A 的标题没有刷新 我明确必须切换到另一个选项卡式面板
  • 反序列化 XML Rest WebApi 调用?

    我一直在关注一些在线示例 但由于某种原因我无法成功反序列化以下 XML 文档
  • 嵌入时间线的动态时间线选择 - 标签时间线

    我已按照指南进行操作here https dev twitter com discussions 18411使用相同的小部件 ID 添加多个小部件 这对于用户时间线来说效果非常好 片段 a class twitter timeline hr
  • 将嵌套 JSON 负载映射到 Elixir 中的结构

    我正在尝试将 Golang 教程 gddit 移植到 Elixir 我已经使用 Dartlang 成功做到了这一点 但 Elixir 在地图和列表上的操作让我感到困惑 使用 HTTPoison 和 JSEX 我有以下代码 defmodule
  • Selenium webdriver 窗口处理 c# switchTo 失败

    测试过程中会弹出 2 个窗口 my code string BaseWindow driver CurrentWindowHandle ReadOnlyCollection