当前位置: 首页 > 知识库问答 >
问题:

Selenium IE Webdriver悬停在元素上闪烁

柳项明
2023-03-14

我的代码在FF中运行良好,但如果我尝试使用IE,它会闪烁。
下面是我的代码

    WebElement mouseOver= driver.findElement(By.linkText("abc"));
//I'm finding element by linkText. Selenium find the linktext, Next im using Action class to perform the move. 
    Actions action = new Actions(driver);
    action.moveToElement(mouseOver).build().perform();
    Thread.sleep(1000); 

一旦动作移动到元素行被触发,它似乎通过了循环,或者鼠标一直在链接文本“abc”上移动。由于它闪烁,因此无法移动到下一个元素。我正在使用线程。由于悬停到元素后会显示其他项目,因此睡眠通常需要1秒左右的时间才能显示
我检查了以下链接,声明

出现这种情况的普遍理论是,IE在其事件循环期间正在进行某种类型的命中测试,这导致它在物理光标位于窗口边界内时响应物理鼠标位置。

这是否意味着悬停在IE中不起作用。有没有解决闪烁的方法?

共有2个答案

陈松
2023-03-14

创建驱动程序时,你可以试试这个。这对我有用:

DesiredCapabilities returnCapabilities = DesiredCapabilities.internetExplorer();
returnCapabilities.setCapability(InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING, false);
WebDriver driver = new InternetExplorerDriver(returnCapabilities);
子车飞文
2023-03-14

几个月前,我在自动化IE测试脚本时遇到了同样的问题。问题似乎是计算机鼠标指针试图在焦点设置为Web元素时获得焦点。解决问题的方法是让鼠标指针远离网页(在工具栏或任务栏上)。

可以在开始执行之前手动执行,也可以使用java robot以编程方式执行。

Robot r = new Robot();
r.mouseMove(1,1);
 类似资料:
  • 如果孩子在焦点中(已被点击),我怎么能失去父母的悬停状态?我有一个菜单箭头(用OPEN代替了它,以减少代码),它在悬停状态下打开我的菜单和菜单项,当我单击它们时,菜单项就会聚焦。在菜单项点击后,我希望能够失去对我父母的关注,这样菜单就会消失。 如果可能的话,我会尽量避免使用javascript,这是我最好的尝试... 这是我的html null null 编辑 我在一个单页应用程序上使用Angul

  • 问题内容: 我的页面布局涉及很多绝对位置和z索引位置,因此有很多元素相互重叠。 元素之一仅包含文本,它悬停在许多其他事物之上。 在该元素下方,有几个应用了CSS悬停伪类的元素。 当鼠标经过包含文本的元素时,我想以某种方式使下面的Element响应鼠标的存在并激活伪类样式。 有没有什么样式的元素,以便它允许悬停通过它传递给下面的任何元素? 使用JavaScript并不是很难,但是为了使事情尽可能简单

  • 问题内容: 我不是在寻找一个行动调用 的时候 徘徊,而是要告诉的方式 ,如果 一个元素正在上空盘旋目前。例如: 是否有实现此目的的jQuery方法? 问题答案: 原始(正确)答案: 您可以使用并检查选择器。 (这仅在选择器最多匹配一个元素时有效。有关更多信息,请参见“编辑3”。) 。 编辑1(2013年6月29日):( 仅适用于jQuery 1.9.x,因为它与1.10+兼容,请参阅下一个编辑2)

  • 问题内容: 当父元素悬停时如何更改子元素的样式。如果可能的话,我希望使用CSS解决方案。有没有可能通过:hover CSS选择器解决方案。实际上,当面板上悬停时,我需要更改面板内选项栏的颜色。 希望支持所有主流浏览器。 问题答案: 是的,您绝对可以做到这一点。只需使用类似 根据此页面,所有主流浏览器都支持该页面。

  • 问题内容: 我已经看过其他几个问题,但似乎无法弄清楚它们中的任何一个,所以这是我的问题,我想要一个div或span,当您将鼠标悬停在它上面时,就会出现一个区域,就像是一滴水下。 例如我有一个div,我想将鼠标悬停在上面,并让它显示有关我悬停的项目的一些信息 但这似乎不起作用,我不知道为什么…,如果有办法在CSS中做到这一点,我想知道,但是我想要任何和所有建议。 问题答案: 仅当隐藏的div是用于悬

  • 问题内容: 我有一个HTML 标签,并且在div内有一个元素,当鼠标进入其边界时会出现在其中。现在,我要单击在鼠标进入或悬停时可见的元素。 问题:元素开始闪烁。浏览器:IE8 我正在使用下面的代码 有什么建议为什么它会闪烁吗? 问题答案: 由于IE驱动程序的一个称为“永久悬停”的功能,该元素闪烁。此功能的价值可疑,但由于IE(浏览器,而非驱动程序)在使用API 时对消息做出反应的大脑失效方式,因此