#!/usr/bin/env python
# -*- coding:utf-8 -*-# python的测试模块
import unittest
from selenium import webdriver
from bs4 import BeautifulSoupclass douyuSelenium(unittest.TestCase):# 初始化方法def setUp(self):self.driver = webdriver.PhantomJS()#具体的测试用例方法,一定要以test开头def testDouyu(self):self.driver.get('http://www.douyu.com/directory/all')while True:# 指定xml解析soup = BeautifulSoup(driver.page_source, 'xml')# 返回当前页面所有房间标题列表 和 观众人数列表titles = soup.find_all('h3', {'class': 'ellipsis'})nums = soup.find_all('span', {'class': 'dy-num fr'})# 使用zip()函数来可以把列表合并,并创建一个元组对的列表[(1,2), (3,4)]for title, num in zip(nums, titles):print u"观众人数:" + num.get_text().strip(), u"\t房间标题: " + title.get_text().strip()# page_source.find()未找到内容则返回-1if driver.page_source.find('shark-pager-disable-next') != -1:break# 模拟下一页点击self.driver.find_element_by_class_name('shark-pager-next').click()# 退出时的清理方法def tearDown(self):print '加载完成...'self.driver.quit()if __name__ == "__main__":unittest.main()

案例二:动态页面模拟点击相关推荐

  1. Selenium:动态页面模拟点击

    Selenium:动态页面模拟点击 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Sel ...

  2. 使用Python开发游戏运行脚本(二)实现模拟点击

    本文接上一篇文章 使用Python开发游戏运行脚本(一)成功调用大漠插件 上一篇我们已经简单实现了python调用大漠插件并输出版本号的功能,接下来我们要做的就是通过大漠插件模拟鼠标点击和键盘文字输入 ...

  3. javascript模拟点击事件--实现视频自动播放

    背景      这两年一直在做浏览器开发相关的工作,我们所做的浏览器禁用了视频自动播放功能,以实现视频预加载功能:浏览器在视频播放时为了实现视频秒开效果(就是一点击页面里的播放按钮就立即开始播放,而不 ...

  4. webmagic ajax,webmagic爬虫对静态页面,动态页面及js请求方式爬取的处理

    webmagic爬取网页数据,[分页爬取内容]见上一篇博文https://segmentfault.com/a/1190000020005655 webmagic的官方文档见: http://webm ...

  5. 爬虫——模拟点击动态页面

    动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...

  6. python 爬虫模拟点击_爬虫——模拟点击动态页面

    动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...

  7. Java爬虫(二)-- httpClient模拟Http请求+jsoup页面解析

    博客 学院 下载 GitChat TinyMind 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye 写博客 发Chat 传资源 登录注册 原 Java爬虫(二)-- httpClient ...

  8. 爬虫-模拟点击,实现加载页面全部内容

    爬虫-模拟点击,实现加载页面全部内容 完成页面加载: 目标分析:在爬取页面数据时,如果是遇到这个不进行点击,会导致数据爬取不全. 解决方法:可以采取模拟点击来进行避免. 一,它对应的xpath是 二, ...

  9. js手动触发页面元素点击事件,程序触发,自定义点击事件模拟点击

    页面有时候的使用场景需要手动控制某个元素响应点击事件,可以达到不直接点击元素来响应事件,这里可以使用element.dispatchEvent(),在使用element.dispatchEvent() ...

最新文章

  1. LeetCode中等题之简易银行系统
  2. 4篇SCI,获得多次国奖,这个硕士小姐姐分享科研之路
  3. c dup 函数
  4. 1.26 Java使用自定义包
  5. django——会话追踪技术
  6. laravel 分词搜索匹配度_SEO除了“中文分词”还有“文本分析”- 搜狗蜘蛛池博客...
  7. 图灵原版计算机科学系列,图灵原版计算科学系列
  8. 关于dismissViewControllerAnimated值得注意的一点(deinit)
  9. 人脸注册源码faceregiste
  10. python选择排序从大到小_Python实现选择排序
  11. apache禁止訪问某些文件或文件夹的方法
  12. “Runtime Error”不产生dump文件的解决办法
  13. 极限编程XP的核心实践是什么?
  14. 安卓开发学习笔记—————《Anroid编程权威指南》第六章 Android编程与兼容性问题...
  15. ruby入门教程:入门ruby的方法
  16. java 生成pem_生成pem文件 - The NoteBook of EricKong - BlogJava
  17. 类型转化异常 Java Object转 int
  18. 专业技能与职业素养报告计算机,学生专业技能与职业素养专题报告怎么写
  19. 别只会搜日志了,求你懂点原理吧
  20. 应用案例 | 2009 款北京现代伊兰特车换挡冲击故障诊断

热门文章

  1. 记一次mysql进程无法启动的解决方案
  2. iOS大型项目之模块化管理
  3. Linux shell脚本的字符串截取
  4. 设置windows网络连接别名和linux网络连接别名
  5. typescript和coffeescript简介
  6. 生产环境Nginx配置文件
  7. UITableViewCell自适应高度
  8. cocos2d-x 3.0rc开发指南:Windows下Android环境搭建
  9. 购买笔记本不得不说的11点应用技巧
  10. 容器编排技术 -- Kubernetes kubectl create service nodeport 命令详解