微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium系列十四 - Web UI 自动化基础实战1

如果你还想从头学起Selenium,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1680176.html

 

其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈...)

 

注意,目前的实战都是流水账式写的,后面才会结合框架+PO模式

目的是为了掌握所学的Selenium基础

 

实战题目

  1. 访问:https://m.weibo.cn/
  2. 点击:大家都在搜
  3. 点击:微博热搜榜
  4. 找到:实时热点,每分钟更新一次
  5. 将其中带有 热、沸、新字样的热搜信息获取到,并注明属于三种当中的哪一种

 

代码思路

主要是第五步可能会有点困难

  1. 首先,定位到热点列表
  2. 循环,先获取热点文本
  3. 然后,后面的图标都是在放在 span 标签里面的,所以要获取span标签
  4. 最后,获取 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} 是 普通的头条")

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐