从 Selenium webdriver 的当前窗口 GUID 获取窗口句柄 (IntPtr)

2023-11-21

我试图捕获整个浏览器屏幕(例如任何工具栏、面板等)的屏幕截图,而不仅仅是整个页面,所以我得到了以下代码:

using (FirefoxDriver driver = new FirefoxDriver())
{ 
    driver.Navigate().GoToUrl(url);                

    ScreenCapture sc = new ScreenCapture();

    // How can I find natural IntPtr handle of window here, using GUID-like identifier returning by driver.currentWindowHandle?
    Image img = sc.CaptureWindow(...);
    MemoryStream ms = new MemoryStream();
    img.Save(ms, ImageFormat.Jpeg);
    return new FileStreamResult(ms, "image/jpeg");
}

您可以使用获取窗口句柄Process.GetProcesses:

using (FirefoxDriver driver = new FirefoxDriver())
{
    driver.Navigate().GoToUrl(url);

    string title = String.Format("{0} - Mozilla Firefox", driver.Title);
    var process = Process.GetProcesses()
        .FirstOrDefault(x => x.MainWindowTitle == title);

    if (process != null)
    {
        var screenCapture = new ScreenCapture();
        var image = screenCapture.CaptureWindow(process.MainWindowHandle);
        // ...
    }
}

当然,这假设您有一个具有该特定标题的浏览器实例。

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

从 Selenium webdriver 的当前窗口 GUID 获取窗口句柄 (IntPtr) 的相关文章

  • .NET 中是否有内置函数可以对密码进行哈希处理?

    我看到这个问题加密 散列数据库中的纯文本密码 https stackoverflow com questions 287517 encrypting hashing plain text passwords in database 我知道我
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • IEnumerable 与 IReadOnlyList

    选择有什么区别IEnumerable
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK

随机推荐

  • 设置AVMutableComposition的frameDuration

    我正在玩AVEditDemo项目 来自苹果公司WWDC 2010示例包 我正在尝试更改导出视频的帧速率 视频是使用导出的AVMutableComposition其frameDuration设置如下 videoComposition fram
  • PHP-Netbeans:如何更改多条件 if 语句的格式

    我有以下代码 if condition1 condition2 condition3 do something 在让 Netbeans 重新格式化它之后我得到了 if condition1 condition2 condition3 do
  • 在 C# 中使用泛型创建数学库

    是否有任何可行的方法可以使用泛型创建不依赖于选择存储数据的基本类型的数学库 换句话说 假设我想编写一个 Fraction 类 分数可以用两个整数或两个双精度数等来表示 重要的是基本的四种算术运算都有明确的定义 所以 我希望能够写Fracti
  • Java继承——构造函数

    在准备期末考试时 我在我目前正在学习的书中看到了以下陈述 考虑以下代码 class A public A int x class B extends A public B int x 是否强制在B类的构造函数中调用A类的构造函数 super
  • Facebook 请求对话框:本机 iOS 应用程序中的无摩擦请求可能吗?

    截至 2011 年 10 月 10 日 脸书 iOS SDK再次支持 apprequests 对话框 用于从本机 iOS 应用程序发送用户到用户的请求 请参阅Facebook 开发者文档中的屏幕截图举个例子 不过 与通过 Javascrip
  • ASP.Net - 在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的

    我们在开发环境中运行的 Intranet 应用程序上遇到此错误 我不知道去哪里 寻找解决方案 该应用程序曾经工作正常 但它与另一个开发团队在共享服务器上运行 我们在追踪错误时遇到了困难 我的团队没有对应用程序进行任何更新 它突然停止工作 我
  • ASP.Net 中 UI 层的 List<> 比 DataSet 更好吗?

    我想将数据从数据访问层获取到业务层 然后准备在 UI 中使用 所以我想知道 通过以下方式读取我的数据是否更好DataReader并用它来填充List
  • Github 下游拉取请求?

    我在 github 上有一个项目 该项目是 github 上的一个组织分叉的 我可以将我的代码向下游推送到组织的分支吗 我尝试这样做 但没能做到 我想知道我是否可以向下游发送拉取请求 GitHub 确实允许这样做 而且实际上很容易做到 尽管
  • 简单的 PIN 验证

    任务 ATM 机允许使用 4 或 6 位 PIN 码 并且 PIN 码只能包含 4 位或 6 位数字 如果函数传递了有效的 PIN 字符串 则返回 true 否则返回 false 我的解决方案 function validatePIN pi
  • 在 flutter 中使用 image.asset 时图像质量下降

    我有一个 png 的用户 Image asset 但我注意到该图像质量较差 如何在真实设备中保持相同的质量 就我而言 问题是由于图像分辨率系统的配置错误造成的 一方面 您必须在资产文件夹中指定不同的分辨率 assets my icon pn
  • 如何在 .NET 格式字符串中转义大括号(大括号)

    使用时如何转义括号string Format 例如 String val 1 2 3 String Format foo 0 val 此示例不会引发异常 但会输出字符串foo 0 有没有办法摆脱括号 供你输出 foo 1 2 3 你必须做类
  • Rails 4.0 上的 haml-rails?

    我想知道是否有人遇到过任何障碍haml railsRails 4 0 中的 gem 有一个导轨铸件这表明存在一些问题 但没有更多提及这一点 GitHub 上托管的 gem 也没有明确提及对 Rails 4 0 的支持 那么这方面的现状如何呢
  • Android:使用SimpleCursorAdapter从数据库获取数据到ListView

    我正在编写一个 Android 应用程序 它应该使用数据库来存储数据并从中读取数据 使用本教程 在 archive org 上 我得到了创建数据库的应用程序 并且能够创建新条目 但是 我不知道如何读取数据库以获取 ListView 中存储的
  • jquery 验证 onclick

    我对 jquery 验证插件有一个问题 这对我来说没有意义 请问有人能看出我的错误在哪里吗 这是我的 HTML
  • 如何有效地将一个 Pandas Dataframe 的每一列与另一个 Dataframe 的每一列相乘?

    我正在尝试将两个 pandas 数据框相乘 具体来说 我想将每一列与另一个 df 的每一列相乘 数据帧是 one hot 编码的 所以它们看起来像这样 col 1 col 2 col 3 0 1 0 1 0 0 0 0 1 我可以使用 fo
  • 使用 axios 收到 400 错误错误请求

    我正在使用 axios 并收到 400 bad request 错误 我正在使用react redux并尝试向localhost 3000 posts发送post请求 这是我正在使用的代码 import axios from axios i
  • 如何在 Reporting Services 中以 hh:mm:ss 格式显示秒的时间跨度

    在 MS Reporting Services 2008 中 我有一个字段 该字段是以秒的形式存储的持续时间 有没有一种巧妙的方法可以在报告的组部分将其转换为 hh mm ss 格式 如果您只想显示它 请转换文本框值的表达式 Format
  • 如果十进制的范围更短,为什么它比双精度更精确? C#

    Im reading the C in a Nutshell book and it shows this table 我很难理解这张桌子 它说双重需要64 bits的空间 它的范围是10 324 to 10 308 小数取128 bits
  • 服务器和客户端之间的实时视频流 - 使用 Java

    这是我正在进行的项目的一部分 我有两个桌面java应用程序 一个在服务器上运行 有真实IP 另一个是客户端 我只想从连接到服务器应用程序的网络摄像头流式传输实时视频 并在客户端应用程序上播放 我想从多个摄像机进行流媒体播放 我一直在 Xug
  • 从 Selenium webdriver 的当前窗口 GUID 获取窗口句柄 (IntPtr)

    我试图捕获整个浏览器屏幕 例如任何工具栏 面板等 的屏幕截图 而不仅仅是整个页面 所以我得到了以下代码 using FirefoxDriver driver new FirefoxDriver driver Navigate GoToUrl