![]() |
1
0
是的,你观察得很对。
使用
64位iedriverserver.exe
@文章中的吉米文斯 Screenshots, SendKeys, and Sixty-Four Bits 提到 IE10发布后,Internet Explorer驱动程序出现了一些问题。 . 讨论中的评论 IE x64 slow typing 提到任何修复都需要 “大量重新构建IE驱动程序的二进制组件,[因此]没有可用的时间线。” 用于交付修复程序。这些问题的起因是什么?它们是如何联系的?为什么修复会如此困难?这些问题的答案可以用一个简单的答案来概括: “窗户挂钩。” 分析在64位版本的Windows上运行IE 10或更高版本时,默认情况下,承载包含浏览器Chrome(地址栏、导航按钮、菜单等)的包含窗口的进程是64位进程。承载实际呈现内容的窗口(在每个选项卡中)的进程是32位进程。 默认情况下,IE驱动程序尝试在“内容呈现”窗口上使用Windows挂钩,以确保在发送“向上键”消息之前正确处理“向下键”消息。这就是问题所在。未安装Windows挂钩,因为32位进程(内容呈现进程)无法执行64位代码。正确修复此问题的唯一方法是创建第二个(32位)可执行文件来执行等待键关闭完成。由于这相当于对IE驱动程序的二进制组件进行了大规模的重新构造,因此没有(或将要)时间线可用于此更改。这意味着,即使运行64位Windows,也可能使用32位版本的IE来呈现内容。对于继续使用32位版本的IE10及更高版本的IE驱动程序,这是一个有力的论据:您不是 事实上 在64位版本的IE上运行。 如果您坚持必须运行64位版本的iedriverserver.exe,则有两种可能的解决方法。首先,可以通过使用语言绑定为此提供的任何机制将“NativeEvents”功能设置为false来禁用本机事件。从输入模拟的角度来看,一个更准确的解决方法是启用“RequireWindowFocus”功能,尽管这也有一个Windows挂钩依赖项,它可能以其他方式表现出来。 窗口钩子所有Windows应用程序中都有一个称为“消息循环”的例程。消息循环反复调用getmessage api函数,并在消息到达应用程序队列时处理发送到该应用程序的消息。钩子是Windows消息处理系统的一个特性,它允许开发人员截取、检查和修改发送到应用程序的消息。例如,通过安装钩子,开发人员可以验证被钩子钩住的窗口是否处理了某个消息。或者,他们可以修改发送到窗口的消息,以表示操作系统可以做实际上做不到的事情。这是一个聪明的机制,但它确实有一些要求超出了讨论的范围。 解决方案而不是 64位iedriverserver.exe 开始使用 32位iedriverserver.exe 在哪里放置iedriverserver.exe?
你可以把
iedriverserver.exe文件
在系统中的任何地方,并通过参数传递二进制文件的绝对位置
|
![]() |
ARH · 如何使用Selenium识别网站中使用的所有标签 3 年前 |
![]() |
vidhu · 无URL的自动化测试 3 年前 |
![]() |
Myoung Nam · 如何从谷歌搜索中提取多个div类? 3 年前 |