Python斗鱼直播间自动发弹幕脚本

2023-05-16

工具:Python,Chrome浏览器
因为不会用短信验证码登录,所以使用QQ帐号登录,必须要斗鱼帐号绑定QQ号。

难点主要是帧的切换。 查找元素可以通过chrome浏览器鼠标指向该元素,然后右键点击检查,Copy,Copy Xpath等方法拷贝元素的值

# coding = utf-8
from selenium import webdriver
import time

dr = webdriver.Chrome(executable_path="D:\Tools\PythonTools\chromedriver.exe")
try:
    dr.get("https://www.douyu.com/t/lpl")
    dr.maximize_window()
    dr.implicitly_wait(15)
    print(dr.title)
    time.sleep(5)
    #点击X号去掉广告,如果没有广告要注释这行代码
    dr.find_element_by_xpath("/html/body/div[7]/div/div/div[2]").click()
    dr.find_element_by_link_text("登录").click()
    time.sleep(3)
    #切换到密码登录frame
    dr.switch_to.frame("login-passport-frame")
    time.sleep(5)
    #点击密码登录
    dr.find_element_by_xpath("//*[@id='loginbox']/div[2]/div[2]/div[3]/div/span[2]").click()
    # dr.find_element_by_link_text("密码登录").click()  还是不要用字符串定位元素好
    time.sleep(3)
    #点击QQ图标
    dr.find_element_by_xpath("//*[@id='loginbox']/div[3]/div[2]/div[2]/div[2]/a[1]").click()
    time.sleep(3)

    # 获取当前窗口句柄(窗口A)
    handle = dr.current_window_handle
    print(handle)
    # 获取当前所有窗口句柄(窗口A、B)
    handles = dr.window_handles
    # 对窗口进行遍历
    for newhandle in handles:
        # 筛选新打开的窗口B
        if newhandle != handle:
            # 切换到新打开的窗口B
            dr.switch_to_window(newhandle)
            # 在新打开的窗口B中操作

            dr.switch_to.frame("ptlogin_iframe")
            time.sleep(3)
            ele = dr.find_element_by_id("switcher_plogin").click()
    dr.find_element_by_xpath("//*[@id='u']").send_keys("你的QQ帐号")
    dr.find_element_by_xpath("//*[@id='p']").send_keys("你的QQ密码")
    dr.find_element_by_xpath("//*[@id='login_button']").click()

    print("登录成功")
    # dr.get("https://www.douyu.com/t/lpl")
    # dr.implicitly_wait(15)
    # print(dr.title)
    while(1):
        dr.find_element_by_xpath("//*[@id='js-send-msg']/textarea").send_keys("厂长加油")
        time.sleep(3)
        dr.find_element_by_xpath("//*[@id='js-send-msg']/div[1]").click()
        #清空缓冲
        dr.find_element_by_xpath("//*[@id='js-send-msg']/textarea").clear()
        print("厂长加油")
        time.sleep(3)
        dr.find_element_by_xpath("//*[@id='js-send-msg']/textarea").send_keys("您配吗")
        time.sleep(3)
        dr.find_element_by_xpath("//*[@id='js-send-msg']/div[1]").click()
        # 清空缓冲
        dr.find_element_by_xpath("//*[@id='js-send-msg']/textarea").clear()
        print("您配吗")
        time.sleep(3)
    dr.quit()
except Exception as e:
    print(e)
#

github

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python斗鱼直播间自动发弹幕脚本 的相关文章

随机推荐

  • 多目标规则在 Makefile 中的应用与示例

    在 Makefile 中 xff0c 如果一个规则有多个目标 xff0c 而且它们之间用空格分隔 xff0c 我们称之为 34 多目标规则 34 这意味着这个规则适用于列出的所有目标 在目标下面的命令是 C 64 xff0c 它通常与 ma
  • 计算机中内存、cache和寄存器之间的关系及区别

    1 寄存器是中央处理器内的组成部份 寄存器是有限存贮容量的高速存贮部件 xff0c 它们可用来暂存指令 数据和位址 在中央处理器的控制部件中 xff0c 包含的寄存器有指令寄存器 IR 和程序计数器 PC 在中央处理器的算术及逻辑部件中 x
  • dell 台式电脑设置每天定时开机和关机

    每天定时开机设置 xff1a 戴尔电脑通过CMOS设置实现自动开机的设置过程如下 xff1a 1 首先进入 CMOS SETUP 程序 大多数主板是在计算机启动时按DEL或F2键进入 xff1b 2 然后将光条移到 Power Manage
  • windows批处理自动获取电脑配置信息

    39 2 gt nul 3 gt nul amp cls amp 64 echo off 39 amp rem 获取本机系统及硬件配置信息 39 amp set 61 Any question amp set 64 61 WX amp se
  • Centos7搭建cisco ocserv

    一 安装的部分直接yum安装即可 yum y install ocserv 二 配置文件根据实际情况调整 auth方式有两种 1 系统账号认证 配置的话就是 xff1a auth 61 34 pam 34 2 本地文件认证 配置的话就是 x
  • 私有harbor部署(docker方式)

    环境准备 docker compose v Docker Compose version v2 14 2 wget https github com docker compose releases download v2 14 2 dock
  • ORACLE扩展表空间

    一 查询表空间使用情况 SELECT UPPER F TABLESPACE NAME 34 表空间名 34 D TOT GROOTTE MB 34 表空间大小 M 34 D TOT GROOTTE MB F TOTAL BYTES 34 已
  • Oracle 常用性能监控SQL语句

    1 查看表锁 SELECT FROM SYS V SQLAREA WHERE DISK READS gt 100 2 监控事例的等待 SELECT EVENT SUM DECODE WAIT TIME 0 0 1 34 Prev 34 SU
  • Nginx出现“ 413 (499 502 404) Request Entity Too Large”错误解决方法

    1 Nginx413错误的排查 修改上传文件大小限制 在使用上传POST一段数据时 xff0c 被提示413 Request Entity Too Large xff0c 应该是nginx限制了上传数据的大小 解决方法就是 打开nginx主
  • 查看弹出广告来自哪个软件

    打开VS的Spy 43 43 将指针移到广告处 xff0c 然后点OK xff0c 在Process标签页可以看到进程id和线程id将获得的16进制进程id xff08 例如 xff1a 000025F8 xff09 通过计算器转成10进制
  • C++多态虚函数实现原理,对象和虚函数表的内存布局

    基本概念 我们知道C 43 43 动态多态是用虚函数实现的 xff0c 而虚函数的实现方式虽说C 43 43 标准没有要求 xff0c 但是基本都是用虚函数表实现的 xff08 编译器决定 xff09 所以我们有必要了解一下虚函数表的实现原
  • C++ STL中递归锁与普通锁的区别

    在多线程编程中 xff0c 保护共享资源的访问很重要 xff0c 为了实现这个目标 xff0c C 43 43 标准库 xff08 STL xff09 中提供了多种锁 xff0c 如std mutex和std recursive mutex
  • VS+Qt开发环境

    VS Qt下载 VS下载 xff1a https visualstudio microsoft com zh hans vs Qt下载安装 xff1a https www bilibili com video BV1gx4y1M7cM VS
  • windows下使用ShiftMediaProject编译调试FFmpeg

    为什么要编译FFmpeg xff1f 定制模块调试源码 windows下编译 推荐项目ShiftMediaProject FFmpeg 平时总是看到一些人说windows下编译FFmpeg很麻烦 xff0c 这时候我就都是微微一笑 xff0
  • RTSP分析

    RTSP使用TCP来发送控制命令 xff08 OPTIONS DESCRIBE SETUP PLAY xff09 xff0c 因为TCP提供可靠有序的数据传输 xff0c 而且TCP还提供错误检测和纠正 RTSP的报文格式可以参考HTTP的
  • RTP分析

    参考 RTP xff08 A Transport Protocol for Real Time Applications 实时传输协议 xff0c rfc3550 xff09 RTP Payload Format for H 264 Vid
  • VS链接器工具错误 LNK2019:无法解析的外部符号

    常见的问题 以下是一些导致 LNK2019 的常见问题 xff1a 未链接的对象文件或包含符号定义的库 在 Visual Studio 中 xff0c 验证包含定义源代码文件是生成 xff0c 分别链接为项目的一部分 在命令行中 xff0c
  • FFmpeg合并视频流与音频流

    mux h ifndef MUX H define MUX H ifdef cplusplus extern 34 C 34 endif include 34 common h 34 include 34 encode h 34 typed
  • 解决电脑同时使用有线网上内网,无线网上外网的冲突

    由于内网有网络限制 xff08 限制娱乐等 xff09 xff0c 所以肯定要用外网 xff08 无线网卡 xff09 但是有的网站只能用内网访问 xff0c 比如gitlab xff0c oa等 我电脑刚开始连接了wifi后上不了gitl
  • Python斗鱼直播间自动发弹幕脚本

    工具 xff1a Python xff0c Chrome浏览器 因为不会用短信验证码登录 xff0c 所以使用QQ帐号登录 xff0c 必须要斗鱼帐号绑定QQ号 难点主要是帧的切换 查找元素可以通过chrome浏览器鼠标指向该元素 xff0