屋落天晴 发表于 2016-2-25 14:47:43

selenium python 模拟鼠标事件与实际鼠标事件冲突问题

各位大神好,
小弟碰到一个selenium python 模拟鼠标事件与实际鼠标事件冲突问题,请教一下
问题描述:
   在主页面想通过ActionChains模拟鼠标悬浮事件,然后在悬浮下拉菜单中定位到一个菜单执行点击事件,但在主页主体内容中有很多小卡片,每个卡片都会接受鼠标悬浮事件
此时问题来了,如果在执行用例的时候鼠标放在某个卡片上时,模拟的那一系列鼠标中最后的点击操作没有被执行,也就是没有进入到对应的菜单页面,但是用例执行完了,也并没有报错
当鼠标没有放在卡片上时,用例可以正常被执行,也能到达对应的菜单页面

这个问题有什么有效的解决方法么?

june.diny 发表于 2016-2-25 18:07:32

贴代码
ActionChains模拟悬浮之前,会先move to 到对应的元素。

也可以在模拟悬浮之前,加一步:判断下当前元素是不是鼠标focus的元素

屋落天晴 发表于 2016-2-25 19:31:24

config = driver.find_element_by_class_name("g-banner-left-text")
ActionChains(driver).move_to_element(config).perform()
time.sleep(2)
personConfig = driver.find_element_by_xpath("//div[@class='g-banner-left']/div/div/a")
personConfig.click()
代码应该没问题,主要就是模拟的鼠标事件,与实际鼠标放置位置的控件元素正好也有focus的话就会冲突,导致点击personConfig 后没有效果
如果实际鼠标是在窗口之外的话,就没问题了
页: [1]
查看完整版本: selenium python 模拟鼠标事件与实际鼠标事件冲突问题