实战题目

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

Selenium系列(14) - Web UI 自动化基础实战(1) - 图1
Selenium系列(14) - Web UI 自动化基础实战(1) - 图2

代码思路(人为测试时的操作步骤)

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

  1. 首先,定位到热点列表
  2. 循环,先获取热点文本
  3. 然后,后面的图标都是在放在 span 标签里面的,所以要获取span标签
  4. 最后,获取 img 标签,通过图片路径 src 属性判断是属于哪种热点新闻

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. __title__ =
  5. __Time__ = 2020/3/25 14:08
  6. __Author__ = 小菠萝测试笔记
  7. __Blog__ = https://www.cnblogs.com/poloyy/
  8. """
  9. from time import sleep
  10. from selenium import webdriver
  11. # 需要将驱动路径改成自己的路径哦
  12. driver = webdriver.Chrome(executable_path=r"../resources/chromedriver.exe")
  13. url = "https://m.weibo.cn/"
  14. driver.get(url)
  15. # 点击搜索框
  16. driver.find_element_by_class_name("m-search").click()
  17. sleep(2)
  18. # 点击【微博实时搜索】
  19. driver.find_element_by_class_name("card-main").find_elements_by_class_name("m-item-box")[-1].click()
  20. sleep(2)
  21. # 查找list
  22. lists = driver.find_element_by_class_name("card11").find_element_by_class_name("card-list").find_elements_by_class_name("card4")
  23. # 循环热搜列表
  24. for i in lists:
  25. text = i.find_element_by_class_name("main-text").text
  26. span = i.find_elements_by_class_name("m-link-icon")
  27. if span:
  28. src = span[0].find_element_by_tag_name("img").get_attribute("src")
  29. if "hot" in src:
  30. print(f"{text} 是 很热的头条")
  31. elif "new" in src:
  32. print(f"{text} 是 新的头条")
  33. elif "fei" in src:
  34. print(f"{text} 是 沸腾的头条")
  35. elif "recom" in src:
  36. print(f"{text} 是 推荐的头条")
  37. else:
  38. print(f"{text} 是 普通的头条")

转载: https://www.cnblogs.com/poloyy/p/12630752.html