Selenium骚操作(一)
Selenium-骚操作
我们知道selenium 可以通过各种定位方式来定位页面元素,但是如果我想点击页面的某个位置(比如图片的某个点),这时候根本无法使用元素定位。这时候我们应该怎么做呢?
这里给大家推荐一下selenium 的 ActionChains
在Selenium中,ActionChains 类用于生成用户交互的动作序列,如点击、双击、移动鼠标、键盘输入等。这些动作可以被链接在一起,形成一个链(Chain),然后在特定的浏览器元素上执行,也可以直接在页面上执行
Selenium ActionChains 介绍
什么是ActionChains?
Selenium的ActionChains类提供了一种在Web页面上执行复杂用户交互的方法。这些交互包括鼠标移动、点击、双击、键盘输入等。通过使用ActionChains,你可以模拟用户在浏览器中的真实操作。
如何使用ActionChains?
1. 导入ActionChains类
首先,你需要从Selenium库中导入ActionChains类。
from selenium.webdriver.common.action_chains import ActionChains
2. 实例化ActionChains对象
接下来,你需要创建一个ActionChains对象,并将其与一个Web元素或WebDriver实例关联起来。
actions = ActionChains(driver)
3. 初始化点击的坐标,这样多次点击的话 每次都会重新计算
actions.reset_actions()
4. 点击坐标
actions.move_by_offset(x, y).click().perform() #左击
actions.move_by_offset(x, y).double_click().perform() #双击
actions.move_by_offset(x, y).context_click().perform() #右击
5. 完整代码,以点击百度页面 (100,200)处为例子
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.maximize_window()
actions = ActionChains(driver)
actions.reset_actions()
actions.move_by_offset(100, 200).click().perform()
driver.quit()
6. 获取鼠标点击在页面的坐标
上面我们可以通过 actions 来点击页面坐标,但是我们要怎么获取到页面坐标呢?
这里可以使用JS 方式来获取
js = """
关注下文获取
"""
driver.execute_script(js)
或者直接在F12控制台执行js 语句
然后你点击页面后,就可在控制台获取到坐标
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

