实战题目

  1. 访问:https://www.toutiao.com/
  2. 获取到下图所有黑框里的内容并打印出来

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

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

  1. 找到列表,循环列表,打印文本
  2. 鼠标悬浮到【更多】
  3. 待悬浮窗口可见时,获取窗口内的列表
  4. 循环列表,打印文本

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. __title__ =
  5. __Time__ = 2020/3/27 14:35
  6. __Author__ = 小菠萝测试笔记
  7. __Blog__ = https://www.cnblogs.com/poloyy/
  8. """
  9. from selenium import webdriver
  10. from selenium.webdriver import ActionChains
  11. # 需要将驱动路径改成自己的路径哦
  12. driver = webdriver.Chrome("../resources/chromedriver.exe")
  13. chains = ActionChains(driver)
  14. # 打开头条
  15. driver.get("https://www.toutiao.com/")
  16. driver.maximize_window()
  17. # 找到外层
  18. channel = driver.find_element_by_css_selector("div.bui-left.index-channel>div>div")
  19. # 找到元素列表
  20. lis = channel.find_elements_by_css_selector("ul > li")[:13]
  21. print("==第一次打印列表==")
  22. more = None
  23. for li in lis:
  24. print(li.text)
  25. more = li
  26. # hover
  27. chains.move_to_element(more).perform()
  28. # 找到更多hover层窗口
  29. layer = more.find_element_by_class_name("channel-more-layer")
  30. # 如果可见
  31. if layer.is_displayed():
  32. lis = layer.find_elements_by_css_selector("ul > li")
  33. print("==第二次打印列表==")
  34. for li in lis:
  35. print(li.text)

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