python爬虫selenium行为链常用方法汇总

简介: python爬虫selenium行为链常用方法汇总

python爬虫selenium行为链
有时候页面的操作可能需要很多步,可以使用鼠标行为链ActionChains来完成。

以打开Chrom浏览器百度搜素“侯小啾”为例。

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

# 定位 输入框 的 标签
input_elm = driver.find_element_by_id('kw')
# 定位 点击 百度一下 的 标签
button_elm = driver.find_element_by_id('su')

行为链代码:

# 行为链实例化(创建行为链对象) 
actions = ActionChains(driver)

# 鼠标移动到输入的标签中
actions.move_to_element(input_elm)

# 输入内容到该标签中
actions.send_keys_to_element(input_elm, '侯小啾')

# 鼠标点击百度一下
actions.click(button_elm)

# 提交以上所有行为链的动作
actions.perform()

常用方法汇总:

  • move_to_element()
    将鼠标移动到指定element,参数为标签。

  • move_by_offset(xoffset, yoffset)
    将鼠标移动到与当前鼠标位置的偏移处。参数为X轴Y轴上移动的距离。(距离单位为像素,可以通过截图的方式来把握距离。)

  • send_keys_to_element()
    输入内容到标签中。
    这里不能用send_keys()方法,send_keys()是的作用对象是标签,而在send_keys_to_element()中标签是函数的参数,该方法作用对象是行为链对象。

  • click()
    点击一个标签。

  • perform()
    执行所有存储的操作。因为行为链是一系列的动作,上边的命令不会写一个执行一个,执行要通过perform()命令来全部执行。

  • context_click(element)
    右键点击一个标签

  • click_and_hold(element)
    点击且不松开鼠标

  • double_click(element)
    双击。

  • drag_and_drop(source, target)
    按住源元素上的鼠标左键,然后移动到目标元素并释放鼠标按钮。

  • drag_and_drop_by_offset(source, xoffset, yoffset)
    按住源元素上的鼠标左键,然后移动到目标偏移并释放鼠标按钮。

  • release(on_element=None)
    在元素上释放按住的鼠标按钮

  • reset_actions()
    清除已存储在本地和远程端的操作。

行为链方法中把按着的鼠标松开(释放),可以使用release()和reset_actions()两种方法。
actions.release()要写在actions.perform()前,通过perform方法来执行。
而reset_actions()也可以达到该效果,但要写在perform()之后,不依赖perform()来执行。释放动作推荐用release()。

目录
相关文章
|
25天前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
|
1月前
|
调度 Python
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
|
1月前
|
Python
Python字符串center()方法详解 - 实现字符串居中对齐的完整指南
Python的`center()`方法用于将字符串居中,并通过指定宽度和填充字符美化输出格式,常用于文本对齐、标题及表格设计。
|
2月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
2月前
|
安全 Python
Python语言中常用的文件操作方法探讨
通过上述方法的结合使用,我们可以构筑出强大并且可靠的文件操作逻辑,切实解决日常编程中遇到的文件处理问题。
160 72
|
6天前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
|
1月前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
|
25天前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
|
3月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
164 58
|
2月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
169 0

推荐镜像

更多