基于selenium的UI自动化实践

简介: 基于selenium的UI自动化实践

1、需求说明

实现的需求是:获取某个博主博客的文章标题,然后把获取的标题内容保存到excel中

2、实现目的

适用于刚开始学习seleniumUI自动化的人,建立对UI自动化的基本认知

3、特殊说明

后续代码只是来获取博主文章的标题,并无其它风险,所以不存在安全问题

4、环境搭建

详细参考:WebUI自动化环境搭建

5、实现思路

# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import re
import xlsxwriter

driver = webdriver.Chrome()  # 打开Chrome浏览器
driver.get("https://blog.csdn.net/xxxxxx")  # 进入博客首页,这里是csdn博客,xxxxx是博主昵称

time.sleep(1)
driver.maximize_window() # 最大化窗口

# 获取博客总页数
listNum = driver.find_element_by_id("pageBox").text
print(listNum)
number = re.sub("\D", "", listNum)
number1 = list(number)
print(number)
print(number1)
number2 = [int(i) for i in number1]
print(number2)
max_number = max(number2)
print(max_number)

# 获取博客标题
time.sleep(2)
mylist = []
workbook = xlsxwriter.Workbook('./data.xlsx') # 获取的标题保存到当前目录的data.xlsx
worksheet = workbook.add_worksheet()
bold_format = workbook.add_format({'bold': True}) # 加粗

# excel表格表头设计,保存六页数据
worksheet.write('A1', u'第一页', bold_format)
worksheet.write('B1', u'第二页', bold_format)
worksheet.write('C1', u'第三页', bold_format)
worksheet.write('D1', u'第四页', bold_format)
worksheet.write('E1', u'第五页', bold_format)
worksheet.write('F1', u'第六页', bold_format)
row = 1
col = 0
try:
    for j in range(1, max_number):
        time.sleep(2)
        print("============第 %d 页数据==========" % j)
        for i in range(1, 41):
            mylist1 = driver.find_element_by_xpath(".//*[@id='mainBox']/main/div[2]/div["+str(i)+"]/h4/a").text #
            # 获取博客标题名称
            print(mylist1)
            worksheet.write_string(row + i, col + j - 1, str(mylist1))
        time.sleep(2)
        target = driver.find_element_by_xpath("html/body/div[6]/main/div[2]/div[41]/div/ul/li[9]") # 找到“下一页”元素
        driver.execute_script("arguments[0].scrollIntoView();", target) # 拖动滚动条到指定的元素位置
        time.sleep(1)
        target.click() # 下一页数据
    driver.quit() # 关闭浏览器
    workbook.close()
except Exception as e:
    print("出错了,原因为:", e)
    driver.quit()  # 关闭浏览器
    workbook.close()

6、实现效果

在这里插入图片描述

目录
相关文章
|
2月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
5月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
2月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
332 2
|
3月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
160 6
|
5月前
|
存储 SQL 关系型数据库
MySQL 动态分区管理:自动化与优化实践
本文介绍了如何利用 MySQL 的存储过程与事件调度器实现动态分区管理,自动化应对数据增长,提升查询性能与数据管理效率,并详细解析了分区创建、冲突避免及实际应用中的关键注意事项。
209 0
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
270 11
|
5月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
12月前
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
1458 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
11月前
|
人工智能 自然语言处理 API
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。
2765 16
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
|
12月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
350 31
Selenium IDE:Web自动化测试的得力助手