事情是酱紫的,我在使用 selenium 的鼠标事件,用了 ActionChains 这个库; 该说不说,我有些时候不能理解 ActionChains 是咋回事; 比如:
from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(browser)
actions.move_by_offset(10, 20).click().perform()
比如这样的代码,就是鼠标的链式操作嘛,移动到指定 xy 坐标,然后点击,然后执行链式操作;
那么问题来了,这个鼠标的移动啊,它不能回归到默认的 0,0 的位置啊。
就是我再次执行 move_by_offset 的时候,xy 坐标是根据上次鼠标所在的位置继续叠加的,这分分钟就超出浏览器范围了;
根据各大网资料,得知了这个链式操作底层实际上是 self._actions.append
就是他的链式操作就是把所有要执行的东西依次添加到一个数组里,然后执行;
那么问题来了,如何可以清空鼠标位置到 0 的位置呢?我不想每次都在上次移动的位置叠加执行。 这个时候有人就说了,你干嘛不试试 move_by_offset(-10, -20) 这样让他回归呢? 嗯,因为我不知道 xy 坐标,所以没办法回归原来,我就是想让他每次鼠标在左上角,就那么难吗?
大佬们,你们遇到了吗?有解决办法嘛?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.