如何在硒中移动鼠标?

问题描述

我试图模拟鼠标在随机曲线或抛物线上的移动,这样看起来鼠标实际上是在页面上移动。使用Selenium,我只知道如何点击元素,但这并不能模拟一些网站上的真实用户。我希望鼠标沿着我计算的一条随机线移动,然后单击该元素。

python

推荐答案代码如下所示(假设您的浏览器是火狐):

driver = webdriver.Firefox(executable_path=driver_path)
action = webdriver.ActionChains(driver)
element = driver.find_element_by_id('your-id') # or your another selector here
action.move_to_element(element)
action.perform()

请注意,这不会移动您的物理光标,而只是看不见的Selenium光标。要查看它是否起作用,元素必须具有某种"悬停"效果。 此外,如果您已经将光标移动到某个元素,并且想要相对地重新定位它,则可以使用:

action.move_by_offset(10, 20)    # 10px to the right, 20px to bottom
action.perform()

或更短:

action.move_by_offset(10, 20).perform()
此处提供了更多文档: https://selenium-python.readthedocs.io/api.html

相关文章