在我的一个Selenium测试案例中,我有一个问题,我不想拥有MouseOver效果。这是我的工作:
问题是,在“登录”和“购买”之间的中间存在一个带有MouseOver效果的“购物篮”链接。因此,当我在“登录”按钮上调用Click(),然后在“购买”按钮上调用时,我会触发MouseOver,这将打开购物车的一个小预览,这会将“购买”按钮隐藏在其后面。
这适用于Firefox和MSIE。在Chrome浏览器中,我没有这种效果。
有人知道吗?
我仍然不知道真正的解决方案,但是这是我正在使用的肮脏解决方法:
public static void Click(this IWebElement element, TestTarget target) { if (target.IsInternetExplorer) { var actions = new Actions(target.Driver); actions.MoveToElement(element).Perform(); Thread.Sleep(500); // wait for the mouseover popup to appear element.SendKeys(Keys.Escape); // to close the popup (if any) actions.MoveToElement(element).DoubleClick().Perform(); // simple click is sometimes not enough in IE } else { element.Click(); } }