硒中的单击相当于双击

2023-11-30

我有一个简单的代码,点击链接就会打开一个新窗口。但是在执行脚本时,单击与双击同一元素一样,会打开 2 个窗口。

我正在使用 InternetExplorer 驱动程序

String baseURL = "URL_to_opened";

DesiredCapabilities cap = DesiredCapabilities.internetExplorer();

cap.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false);

cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

 WebDriver driver = new InternetExplorerDriver(cap);

driver.get(baseURL);

driver.findElement(By.xpath("Element to be clicked")).click();

当你与Selenium 3.4.0, IEDriverServer 3.4.0 with IE(v 10/11),您可以考虑通过以下配置属性DesiredCapabilities Class:

Native Events:由于 InternetExplorerDriver 仅适用于 Windows,因此它尝试使用所谓的“本机”或操作系统级事件在浏览器中执行鼠标和键盘操作。这与使用模拟 JavaScript 事件进行相同操作形成对比。使用本机事件的优点是它不依赖于 JavaScript 沙箱,并且可以确保 JavaScript 事件在浏览器内正确传播。但是,当前当 IE 浏览器窗口没有焦点以及尝试将鼠标悬停在元素上时,鼠标事件存在一些问题。

Browser Focus:挑战在于,如果窗口没有焦点,IE 本身似乎不完全尊重我们向 IE 浏览器窗口发送的 Windows 消息(WM_MOUSEDOWN 和 WM_MOUSEUP)。具体来说,被单击的元素将在其周围收到一个焦点窗口,但该元素不会处理该单击。可以说,我们根本不应该发送消息;我们应该这样做。相反,我们应该使用 SendInput() API,但该 API 明确要求窗口具有焦点。

您可以在此处找到有关这些事实的更多文档link.

示例代码块:

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

硒中的单击相当于双击 的相关文章

随机推荐

  • Android自定义形状

    I know it is possible to make a shape looking something like this 但我不知道如何开始 我可以把它做成一个形状吗 或者我必须做别的事情吗 BR 哦 看看那个 我错了 渐变不是问
  • 多次按键无法解决左侧和空间问题?

    I have a strange problem when I press up left arrows and space simultaneously Why doesn t the space work I tried to test
  • 使用 pvfactors 库时出现“OSError: [WinError 126] 找不到指定的模块”

    我开始按照网站教程使用 Python 中的 pvfactors 工具 它计算光伏阵列表面上的辐照度入射 1 import numpy as np import matplotlib pyplot as plt from datetime i
  • 如何创建 const boost::iterator_range

    评论于为什么 boost find first 对它的输入采用非常量引用 建议 调用者使用 const iterator 模板参数创建一个非常量 iterator range 以 证明 迭代对象具有足够的生命周期 这是什么意思以及我该怎么做
  • 刷新后保持选项处于选中状态

    我有一个按插入选择中的两个参数排序的人员列表 当有人选择一个参数时 如何在刷新或更改 返回页面时保持该参数的选择 我在互联网上的一些帖子上看到了一些问题 但大多数都使用 JQuery 而我不想使用它 代码是这样的
  • Firebase 使用 java(非 android)检索信息

    我一直在尝试使用 java 代码 非 android 获取 firebase 数据库的数据 我使用了与在 android 应用程序中检索相同的方法 但它没有获取数据 Firebase firebase new Firebase https
  • WPF - 通过考虑用户任务栏来最大化无边框窗口

    我正在使用自定义镶边创建一个 WPF 窗口 所以我设置ResizeMode NoResize and WindowStyle None 实现我自己的 chrome 然而 最大化无边框窗口时存在一个问题 它占据了整个屏幕 我发现以下技巧可以解
  • 日期时间和 DbNull.Value

    有谁知道为什么这有效 if item Created DateTime MinValue ListSqlParam Add new SqlParameter TransactionCreated DBNull Value else List
  • 如何替换多个匹配的正则表达式

    我有一组正则表达式替换需要应用于一组字符串 例如 所有多个空格都带有单个空格 s 2 gt 全部 后跟一个 char 后跟空格 后跟字符 a zA Z gt 1 所以我会有这样的东西 String s hello how are you s
  • 将多个文本文件导入到工作簿中,其中工作表名称与文本文件名匹配

    介绍 继续我之前的question最初 我之前的代码 在堆栈交换专家的帮助下 运行良好 Problem 但下次当我再次导入文件时 我必须每月导入一次 它会创建重复的工作表 所以我想修改我的项目如下 单击 导入文本文件 按钮后 VBA 代码
  • 如何为 Visual Studio 云测试的每个核心代理使用不同的 .csv?

    我正在尝试使用 Visual Studio Cloud Test 执行简单的 REST API 负载测试 https www visualstudio com en us docs test performance testing gett
  • lambda 表达式中的赋值

    我想定义一些 lambda 表达式来表示类实例属性的更新 我尝试写如下 Expression
  • 从 require.context 迁移到 import.meta.webpackContext

    我正在尝试将我的 Vue PWA 迁移到 ESM 替换所有require by import 但更换require context by import meta webpackContext在编译时给我以下警告 严重依赖 不支持直接访问 i
  • 在字典理解中使用 eval 时出现 NameError

    我正在尝试在我的班级中编写字典 data element eval self s element for element in key 我有这个错误 data element eval self s element for element
  • 如何在 ChangeNotifier 中使用 Futures?

    我有一个sqlite我从中读取数据的数据库 我还有一棵很长的小部件树 所以经过一番研究后我发现provider颤振包 但我不知道如何在类扩展中使用 FuturesChangeNotifier或者如何在我的小部件树中的任何位置使用它 clas
  • 为通过参数返回的函数创建类型映射

    我正在转换 C api gt Java 并且我有以下函数原型 Retrieves an individual field value from the current Line param reader pointer to Text Re
  • 如何启用电子身份验证的弹出窗口?

    我正在创建一个访问 url 的电子应用程序 当导航到该 URL 时 用户单击按钮并被重定向到在 Chrome 中显示此弹出窗口的 URL 如何在电子中启用 显示此弹出窗口 默认情况下似乎没有启用它 您在图片中看到的是 Chrome 打开一个
  • 内容的最大长度?

    我正在尝试使用连接服务器HttpURLConnection 但我的 PUT 方法有问题 我需要发送一个字符串1500 个字符 或更多 但在这种情况下 服务器会产生超时并返回500 服务器内部错误 如果我发送的字符串低于1400 个字符 我没
  • 在没有安装 Hadoop 的情况下在 Spark 上提交 .py 脚本

    我有以下简单的字数统计 Python 脚本 from pyspark import SparkConf SparkContext conf SparkConf setMaster local setAppName My App sc Spa
  • 硒中的单击相当于双击

    我有一个简单的代码 点击链接就会打开一个新窗口 但是在执行脚本时 单击与双击同一元素一样 会打开 2 个窗口 我正在使用 InternetExplorer 驱动程序 String baseURL URL to opened DesiredC