【Python自动化】selenium简单应用

简介: 【Python自动化】selenium简单应用

准备工作


查询浏览器版本 chrome://version/

下载驱动 https://chromedriver.storage.googleapis.com/index.html

下载的驱动版本要和浏览器版本一致

chrome_driver = r'driver\chromedriver.exe'  # chromedriver的文件位置
driver = webdriver.Chrome(executable_path=chrome_driver)

获取网页


driver.get(url)

获取元素


  • 通过元素名获取元素 driver.find_element_by_name(STR_NAME)
  • 通过类名获取元素 driver.find_element_by_class_name(STR_NAME)
  • 通过ID获取元素 driver.find_element_by_id(STR_NAME)
    这几个是最常用的的,还有其他的,就不在此列举了。

元素操作


点击事件

方式1

获取元素后直接执行点击事件.click()

例如

driver.find_element_by_id(STR_NAME).click()

方式2

driver.execute_script("arguments[0].click();", 元素)

例如

a = driver.find_element_by_id(STR_NAME)  # 发送验证码按钮
driver.execute_script("arguments[0].click();", a)  # 点击按钮

键入文本

.send_keys(欲键入文本)

例如

elem = driver.find_element_by_name(STR_NAME)
elem.send_keys(STR)

一些无用的例子,仅供学习


from selenium import webdriver
import time
from selenium.webdriver.support.wait import WebDriverWait
def sentCode(tel):
    # 查询浏览器版本 chrome://version/
    # 下载驱动 https://chromedriver.storage.googleapis.com/index.html
    # 下载的驱动版本要和浏览器版本一致
    chrome_driver = r'driver\chromedriver.exe'  # chromedriver的文件位置
    driver = webdriver.Chrome(executable_path=chrome_driver)
    # 阿里支付宝注册 | 找不到元素
    # driver.get('https://memberprod.alipay.com/account/reg/index.htm')
    # a = driver.find_element_by_class_name('J-agree-button')
    # a.click()
    # 高途课堂 | 滑块验证
    # driver.get('https://www.gaotu.cn/')
    # a = driver.find_element_by_class_name('login') # 找到登陆按钮
    # driver.execute_script("arguments[0].click();",a) # 点击登录
    # elem = driver.find_element_by_name("sms") # 获取手机号输入框
    # elem.send_keys(tel) # 填写手机号
    # a = driver.find_element_by_class_name('passport-code-btn')  # 找到登陆按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击登录
    # 美团 成功
    # driver.get(
    #     'https://passport.meituan.com/account/unitivelogin?service=www&continue=https%3A%2F%2Fwww.meituan.com%2Faccount%2Fsettoken%3Fcontinue%3Dhttps%253A%252F%252Fcq.meituan.com%252F&_nsmobilelogin=true')
    # elem = driver.find_element_by_name("mobile")  # 获取手机号输入框
    # elem.send_keys(tel)  # 填写手机号
    # time.sleep(1)
    # a = driver.find_element_by_id('J-verify-btn')  # 发送验证码按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击按钮
    # print('美团 - 发送')
    # # 58同城 | 填写电话的输入框无法交互
    # driver.get('https://passport.58.com/login/?path=https%3A%2F%2Fcq.58.com%2F%3Futm_source%3Dmarket%26spm%3Du-2d2yxv86y3v43nkddh1.BDPCPZ_BT&source=58-homepage-pc&PGTID=0d100000-0002-5491-9403-de17aabb4e1c&ClickID=2')
    # a=driver.find_element_by_class_name('phonenum_item') # 找到登陆按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击按钮
    # elem = driver.find_element_by_id("mask_body_item_phonenum")
    # driver.find_element_by_id("mask_body_item_phonenum").click()
    # elem .send_keys(tel)
    # a = driver.find_element_by_id('mask_body_item_getcode')  # 发送验证码按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击按钮
    # print('58同城 - 发送')
if __name__ == '__main__':
    sentCode('电话号码')


相关文章
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
71 20
|
2月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
203 61
|
1月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
70 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
21天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
128 9
|
2月前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
166 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
27天前
|
存储 SQL 大数据
Python 在企业级应用中的两大硬伤
关系数据库和SQL在企业级应用中面临诸多挑战,如复杂SQL难以移植、数据库负担重、应用间强耦合等。Python虽是替代选择,但在大数据运算和版本管理方面存在不足。SPL(esProc Structured Programming Language)作为开源语言,专门针对结构化数据计算,解决了Python的这些硬伤。它提供高效的大数据运算能力、并行处理、高性能文件存储格式(如btx、ctx),以及一致的版本管理,确保企业级应用的稳定性和高性能。此外,SPL与Java无缝集成,适合现代J2EE体系应用,简化开发并提升性能。
|
1月前
|
存储 安全 数据可视化
用Python实现简单的任务自动化
本文介绍如何使用Python实现任务自动化,提高效率和准确性。通过三个实用案例展示:1. 使用`smtplib`和`schedule`库自动发送邮件提醒;2. 利用`shutil`和`os`库自动备份文件;3. 借助`requests`库自动下载网页内容。每个案例包含详细代码和解释,并附带注意事项。掌握这些技能有助于个人和企业优化流程、节约成本。
70 3
|
2月前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
74 0
|
8月前
|
数据采集 数据可视化 大数据
Python在大数据处理中的应用实践
Python在大数据处理中扮演重要角色,借助`requests`和`BeautifulSoup`抓取数据,`pandas`进行清洗预处理,面对大规模数据时,`Dask`提供分布式处理能力,而`matplotlib`和`seaborn`则助力数据可视化。通过这些工具,数据工程师和科学家能高效地管理、分析和展示海量数据。
405 4
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。

热门文章

最新文章