Selenium系列(十四) - Web UI 自动化基础实战
Posted 阿菠萝阿瑶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium系列(十四) - Web UI 自动化基础实战相关的知识,希望对你有一定的参考价值。
如果你还想从头学起Selenium,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1680176.html
其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈...)
注意,目前的实战都是流水账式写的,后面才会结合框架+PO模式
目的是为了掌握所学的Selenium基础
实战题目
- 访问:https://m.weibo.cn/
- 点击:大家都在搜
- 点击:微博热搜榜
- 找到:实时热点,每分钟更新一次
- 将其中带有 热、沸、新字样的热搜信息获取到,并注明属于三种当中的哪一种
代码思路(人为测试时的操作步骤)
主要是第五步可能会有点困难
- 首先,定位到热点列表
- 循环,先获取热点文本
- 然后,后面的图标都是在放在 span 标签里面的,所以要获取span标签
- 最后,获取 img 标签,通过图片路径 src 属性判断是属于哪种热点新闻
代码
#!/usr/bin/env python # -*- coding: utf-8 -*- """ __title__ = __Time__ = 2020/3/25 14:08 __Author__ = 小菠萝测试笔记 __Blog__ = https://www.cnblogs.com/poloyy/ """ from time import sleep from selenium import webdriver # 需要将驱动路径改成自己的路径哦 driver = webdriver.Chrome(executable_path=r"../resources/chromedriver.exe") url = "https://m.weibo.cn/" driver.get(url) # 点击搜索框 driver.find_element_by_class_name("m-search").click() sleep(2) # 点击【微博实时搜索】 driver.find_element_by_class_name("card-main").find_elements_by_class_name("m-item-box")[-1].click() sleep(2) # 查找list lists = driver.find_element_by_class_name("card11").find_element_by_class_name("card-list").find_elements_by_class_name("card4") # 循环热搜列表 for i in lists: text = i.find_element_by_class_name("main-text").text span = i.find_elements_by_class_name("m-link-icon") if span: src = span[0].find_element_by_tag_name("img").get_attribute("src") if "hot" in src: print(f"{text} 是 很热的头条") elif "new" in src: print(f"{text} 是 新的头条") elif "fei" in src: print(f"{text} 是 沸腾的头条") elif "recom" in src: print(f"{text} 是 推荐的头条") else: print(f"{text} 是 普通的头条")
以上是关于Selenium系列(十四) - Web UI 自动化基础实战的主要内容,如果未能解决你的问题,请参考以下文章
二pytest+selenium+allure实现web ui自动化
《手把手教你》系列技巧篇(四十四)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-下篇(详解教程)
katalon系列六:Katalon Studio Web UI关键字讲解