https://blog.csdn.net/u014510302/article/details/52766745

看直播,发弹幕抽奖

如果我写个自动化弹幕的脚本多好啊,

有想法就开始搞吧

目标自动化发弹窗,边看边发。

采用selenium  基于Python 语言。

需要解决的,

第一,自动登录(我看了一眼不需要验证码)

第二,还可以  利用 cookie 登录

第三,自动发弹幕

第四,静静的坐那里装逼吧。

现在开始做。

第一步,登录,http://www.huya.com/a16789  随意找个主播进去测试。

元素查找

看到他的ID 是 nav-login

browser.find_element_by_id('nav-login').click()

找到这个元素 墨迹点击它。

会弹出来 登录的框

获取登录框的难点在于,登录是写到了 iframe 里面 而不是 直接的弹出DIV 的方式  需要先切换到当前的 iframe 进行获取

browser.switch_to_frame('udbsdk_frm_normal')

sleep(5) #此处一定要延时 虎牙做了延时渲染,不延时会报错找到

list_input = browser.find_element_by_xpath('//*[@id="m_commonLogin"]/div[1]/span/input')

list_input.send_keys('您的账号')

list_input = browser.find_element_by_xpath('//*[@id="m_commonLogin"]/div[2]/span/input')

list_input.send_keys('您的密码')

browser.find_element_by_xpath('//*[@id="m_commonLogin"]/div[5]/a[1]').click() # 点击登录

这样的话就成功的登录上去了

在这一步之上自己可以获取 cookie 然后 利用 add_cookie 进行添加 下次就 直接自动登录,

第三步,写弹幕

同样的道理,查找元素,

browser.switch_to.default_content() #切换到默认的 iframe  不然的话,你是查找不到元素的

whileTrue:

browser.find_element_by_id('pub_msg_input').send_keys(u'111111')

sleep(1)

browser.find_element_by_id('msg_send_bt').click()  # 循环发送


我在整个过程中遇到的问题 就是登录,登录的时候 刚开始没有发现 把登录的弹窗写到了 iframe里面,一直以为是弹出的div 怎么都查找不到元素。

发现之后 一举歼灭了,完美的登录上了

[python] view plaincopy

  1. # -*- coding: utf-8 -*-
  2. fromseleniumimportwebdriver
  3. fromtimeimportsleep
  4. importos
  5. importunittest
  6. deflogin(browser):
  7. browser.find_element_by_id('nav-login').click()# ActionChains(browser).move_by_offset(x1,0).perform()
  8. browser.switch_to_frame('udbsdk_frm_normal')
  9. sleep(5)
  10. list_input = browser.find_element_by_xpath('//*[@id="m_commonLogin"]/div[1]/span/input')
  11. list_input.send_keys('您的账号')
  12. list_input = browser.find_element_by_xpath('//*[@id="m_commonLogin"]/div[2]/span/input')
  13. list_input.send_keys('密码')
  14. browser.find_element_by_xpath('//*[@id="m_commonLogin"]/div[5]/a[1]').click()
  15. #自己的cookie
  16. defadd_cookie_whit_url(browser):
  17. browser.add_cookie({u'domain': u'.huya.com', u'name': u'_yasids', u'value': u'__rootsid%3DC73E9383FA4000013DD714506B8086D0', u'path': u'/', u'httpOnly':False, u'secure':False})
  18. browser.add_cookie({u'domain': u'.huya.com', u'name': u'__yaoldyyuid', u'value': u'119571972', u'path': u'/', u'httpOnly':False, u'secure':False})
  19. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'0.7906110432612152', u'expiry':1535810331, u'path': u'/', u'httpOnly':False, u'name': u'__yamid_tt1'})
  20. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'AEDSBVBqAAJgAGI6Qct7wDsKgJ17mH71ARYStFt5IFWqRV0eUad1LONZQ_hCmHQ2AsVP7VbynzInrCy0hW_FQR-Bhy6uf1PlSg1sC8F2kL07ZOd3Ra-ilcGgH7EfuVkg9iULkLQc5atWGA==', u'expiry':1475935142.490963, u'path': u'/', u'httpOnly':False, u'name': u'udb_c'})
  21. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'1475330331', u'expiry':1506866349, u'path': u'/', u'httpOnly':False, u'name': u'Hm_lvt_51700b6c722f5bb4cf39906a596ea41f'})
  22. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'03a304a19ec5f5c0fbafcad75f2019cfb8e510e9ad5c2a8c0201876eb816febd22bfab7f0505d7ca2b5461a1299f9538', u'expiry':1475935142.489887, u'path': u'/', u'httpOnly':False, u'name': u'udb_n'})
  23. browser.add_cookie( {u'domain': u'.huya.com', u'secure':False, u'value': u'CwBsaTk3MzY4MzM3NCTB71cCcwBCxiWTO58bmJ5_IWdVAvbghXXwclrzSGAmkL46G1k4otzvqRnZqpPpUqHwCjPEi5AdVowb9r4oRYInK4QM6b3bjH6buXFi8p1fiKirRQvkU2-a5M22X5KRM-GaBcSPb89782lctFjJGOixyiZuKjESMbRtAAAAAAMAAAAAAAAADQA0Mi4yMzguMTYzLjUzBAA1MjE2', u'expiry':1475935142.487544, u'path': u'/', u'httpOnly':False, u'name': u'udb_l'})
  24. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'C73E937F5D600001CE3519B118921468', u'expiry':1538402331, u'path': u'/', u'httpOnly':False, u'name': u'__yamid_new'})
  25. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'li973683374', u'expiry':1475935142.483877, u'path': u'/', u'httpOnly':False, u'name': u'username'})
  26. browser.add_cookie({u'domain': u'.huya.com', u'name': u'ya_eid', u'value': u'navi/sign', u'path': u'/', u'httpOnly':False, u'secure':False})
  27. browser.add_cookie( {u'domain': u'.www.huya.com', u'secure':False, u'value': u'', u'expiry':1475331232, u'path': u'/', u'httpOnly':False, u'name': u'udboauthtmptokensec'})
  28. browser.add_cookie({u'domain': u'www.huya.com', u'name': u'hdjs_session_id', u'value': u'0.5422785144519808', u'path': u'/', u'httpOnly':False, u'secure':False})
  29. browser.add_cookie( {u'domain': u'.huya.com', u'secure':False, u'value': u'0.1877937606288005', u'expiry':4628930331, u'path': u'/', u'httpOnly':False, u'name': u'hd_newui'})
  30. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'BDDF74965419D79E4D1EA7DE76D8682DF69A0244', u'expiry':1475935142.485905, u'path': u'/', u'httpOnly':False, u'name': u'osinfo'})
  31. browser.add_cookie( {u'domain': u'www.huya.com', u'secure':False, u'value': u'4df59aff-8023-44cc-8f90-35db77e4b987', u'expiry':1535810326, u'path': u'/', u'httpOnly':False, u'name': u'__FEQUALITY__UUID'})
  32. browser.add_cookie( {u'domain': u'.huya.com', u'name': u'Hm_lpvt_51700b6c722f5bb4cf39906a596ea41f', u'value': u'1475330350', u'path': u'/', u'httpOnly':False, u'secure':False})
  33. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'1', u'expiry':1475935140.605429, u'path': u'/', u'httpOnly':False, u'name': u'h_pr'})
  34. browser.add_cookie( {u'domain': u'.huya.com', u'secure':False, u'value': u'1475330345', u'expiry':1475935145.312852, u'path': u'/', u'httpOnly':False, u'name': u'h_unt'})
  35. browser.add_cookie({u'domain': u'www.huya.com', u'name': u'hdjs_session_time', u'value': u'1475330349796', u'path': u'/', u'httpOnly':False, u'secure':False})
  36. browser.add_cookie( {u'domain': u'.huya.com', u'secure':False, u'value': u'4A9272185158A993A3E2F8721648427B0D6DE592B5FFC89EF589A901A46422819E63B2430588862233E226FC5C01E86325B1C1DD2E0A81D56526AE757544D0B269ECF4B9F29B12FDA5FB035D832F9318744B7EFA0CDD64242E4BCC5FB4038DAEC572F197D505377D6703FEBBA8F137E257E4EEC199EC81DF85826D4406422A076009D630A6D9CA91625543286091F398445CAB22B1BF7A3994013FBD2995D04C2AE72171F3CB36B2A7D39EEEE2C5AC9B2F4AD0C6B59ED3F768BE916880560D7C41E57E0A85E92AA6A4EAB893688C98446D314CB161C97DF8E4A8F17F99D3F73FB5DF893D52DEC8CB9FB76F48AB6F7FAF74004626C30D27B6B88C4CD50F4E7DDA7293DFF8671C835BF86693103E8697E551BA7CCD72C6CF06A60595AAA51ADD95C6788FEBBF720FF906A0E9A13E521947D18C7700D98C14EF4FEF03921E7F8DFB', u'expiry':1475935142.492479, u'path': u'/', u'httpOnly':False, u'name': u'udb_oar'})
  37. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'7793b1db1ec1ef578e136c0a6d0a6bb5', u'expiry':1477922335, u'path': u'/', u'httpOnly':False, u'name': u'guid'})
  38. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'0.09185829595408634', u'expiry':1535810331, u'path': u'/', u'httpOnly':False, u'name': u'hiido_ui'})
  39. browser.add_cookie( {u'domain': u'.www.huya.com', u'secure':False, u'value': u'856301c6195a1274ec4a6d1df51050e1e6c9d97fe19618ab5d694e3d110a4e23203fedb04519f8dd6fa83ddef37d61ad2e1b82fb568bc8e5a96327380962f688', u'expiry':1475331232, u'path': u'/', u'httpOnly':False, u'name': u'udboauthtmptoken'})
  40. browser.add_cookie({u'domain': u'.huya.com', u'secure':False, u'value': u'D10A38C72BF4D71CD6F0C6316E545BB522778C4D', u'expiry':1475935142.484813, u'path': u'/', u'httpOnly':False, u'name': u'password'})
  41. browser.add_cookie({u'domain': u'www.huya.com', u'name': u'PHPSESSID', u'value': u'mb1r3at4t9m5lcridpas94kcu6', u'path': u'/', u'httpOnly':False, u'secure':False})
  42. browser.add_cookie( {u'domain': u'.huya.com', u'secure':False, u'value': u'0.6', u'expiry':1475416748, u'path': u'/', u'httpOnly':False, u'name': u'SoundValue'})
  43. browser.add_cookie( {u'domain': u'.huya.com', u'secure':False, u'value': u'119571972', u'expiry':1475935142.482773, u'path': u'/', u'httpOnly':False, u'name': u'yyuid'})
  44. browser.add_cookie( {u'domain': u'.huya.com', u'name': u'__yasmid', u'value': u'0.7906110432612152', u'path': u'/', u'httpOnly':False, u'secure':False})
  45. browser = webdriver.Chrome(executable_path='/Users/imac/Downloads/chromedriver')
  46. browser.get("http://www.huya.com/kaerlol")
  47. # add_cookie(browser)
  48. sleep(4)
  49. # login(browser)
  50. #add_cookie_whit_url(browser)
  51. sleep(2)
  52. browser.get("http://www.huya.com/kaerlol")
  53. browser.switch_to.default_content()
  54. whileTrue:
  55. browser.find_element_by_id('pub_msg_input').send_keys(u'111111')
  56. sleep(1)
  57. browser.find_element_by_id('msg_send_bt').click()
  58. printbrowser.get_cookies()




python-selenium 自动化弹幕相关推荐

  1. python自动化办公都能做什么菜-python+selenium自动化(一)之环境搭建

    一.环境选择 python版本:python3.7(64位)下载地址:https://www.python.org/downloads/ (推荐使用官方下载) selenium版本:selenium3 ...

  2. Python+selenium 自动化-mac下安装配置chrome驱动方法

    我的 Python 版本有两个,先通过 which 看一下对应版本的位置. 然后找到 python 安装目录里的 bin 文件夹,把对应的驱动放里面就好了. 如果不知道怎么匹配对应 chrome 版本 ...

  3. Python+selenium 自动化-基本环境搭建,调用selenium库访问百度查询天气实例演示

    Python+selenium 自动化 第一章:基本环境搭建 ① 安装 selenium 库 ② 下载对应版本的浏览器驱动 ③ 调用百度查天气演示 第一章:基本环境搭建 ① 安装 selenium 库 ...

  4. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

    我们可以用 excel 来记录自动化,然后读取 excel 来执行命令,excel 可以很方便直观的管理我们录入的自动化.下面给大家演示一下 Python+selenium 自动化的实例,读取 exc ...

  5. Python + selenium自动化工具 + 滑块验证码+点选验证码,实现模拟登录“中国铁路网12306”

    文章目录 一.模拟登录"中国铁路网12306 1.引入库 2.初始化 3.将点选验证码图片,通过人工打码,返回目标像素位置(json格式). 4.点选验证码位置得到后,需要鼠标左击进行模拟人 ...

  6. Python+selenium自动化八大元素定位方法及实例(超详细)

    目录 一.selenium模块中的find_element_by_id方法无法使用 二.Python+selenium自动化八大元素定位方法 使用场景: 1.通过id属性定位:driver.find_ ...

  7. php selenium模拟登陆,python+selenium自动化实战携带cookies模拟登陆微博

    首先获取cookies,使用手机扫码登录斗鱼,然后利用网页cookies保存在本地 有些同学可能会问,这不是相当于自己登录了吗,还模拟什么呢,其实来说这是一次获取cookies可以使用很久 #!/us ...

  8. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数

    起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...

  9. web python selenium自动化面试题_干货分享 | Selenium 自动化测试相关的面试题

    网上收集到的一些有关Selenium自动化相关的面试,给出的答案仅供参考. 1.Selenium中用什么函数判断元素是否存在? isElementPresent 2.Selenium中hidden或者 ...

  10. 【Python selenium自动化环境配置】4步搞定ChromeDriver版本选择

    很多刚做自动化的小伙伴,会在ChromeDriver版本选择时犯难,看来大家都被坑过,真正掌握独门绝技,都不是难事儿. 看好了主要步骤就4部 1.确定谷歌浏览器版本 2.找到谷歌浏览器版本与Chrom ...

最新文章

  1. html页面不显示横向滚动条,css横向滚动条不显示?
  2. docker 时间不一致,时区设置
  3. SAP UI5 应用开发教程之十六 - 图标 icon 的使用
  4. java 批量处理 示例_Java中异常处理的示例
  5. go为什么比php性能好,刚学 GO,撸了个支付宝发券的程序,为什么性能还比不上 PHP ?...
  6. linux系统清理内存,如何清除linux的内存缓存,缓冲和交换空间
  7. 玲珑杯round11-E:萌萌哒的第五题
  8. BPSK调制系统MATLAB仿真实现(1)
  9. 视频《博客三人行》Windows7让Vista沦为“WindowsMe”
  10. 计算机二级试题aoa,浙江省高校计算机二级AOA考试excel试题及解析
  11. c fread 快读 详解_热量计算公式及例题详解
  12. latex图片的子标题放在中间
  13. 虚拟机01--Mac安装Centos虚拟机
  14. Python轻量级ORM框架——peewee
  15. 【用户价值分析 RFM模型】用户价值分析
  16. 基于SSM框架的杰森摄影工作室选片系统的设计和开发论文
  17. 运行Django项目报错解决,OSError: [WinError 123] 文件名、目录名或卷标语法不正确。
  18. 生鲜配送企业要如何突破局限性?存在哪些弊端?
  19. linux下查看mysql线程_linux-如何查看线程在哪个CPU内核中运行?
  20. 分布式系统CAP理论深入探索和分析

热门文章

  1. 大厂面试 | 阿里巴巴大数据工程师面试题汇总
  2. 数值分析 |多项式插值、牛顿插值、样条插值
  3. VP9编解码标准知识总结
  4. 【MySQL】轻松学习 唯一索引
  5. python开源代码题库管理_GitHub - gnu-xiaosong/Qu_system: 一款开源免费的题库系统程序,高效,安全,功能强大...
  6. 软件项目管理与过程改进 BB平台 题库整理
  7. PS 模块BAPI新建修改项目、WBS、网络、作业 (二)
  8. JAVA事务@Transactional之propagation
  9. 插值算法的Python实现方式
  10. matlab图像的读取和存储,二、Matlab图像的读取和存储