Python selenium+webdriver 实战龙珠直播

selenium是一个自动化的web应用测试工具,直接可以运行在浏览器中模拟用户进行操作,有点类似于机器人,可以模拟用户进行点击,登陆,输入等操作。

webdriver可以看成是驱动器,用来驱动我们的浏览器,就像我们的硬件如果需要使用也需要装上相应的驱动器,才能正常使用,我们使用python操作浏览器也需要装饰相应的浏览器!

1.首先安装selenium

pip install selenium

2.下载相对应的webdriver,下载不来的可以找我要

实战项目:selenium+webdriver 实战龙珠直播,实现自动登陆和发送弹幕的简单功能

思路:
1.要发送弹幕首先要进入直播间

2.发送弹幕必须登陆账号

3.获取到输入框,然后输入要发送的内容,最后点击发送按钮

from selenium import webdriver  # 从selenium中导入webdriver
import time  # 导入time模块 time模块主要用来对时间做设置操作
def main():
	#首先指定webdriver的路径,不同的浏览器webdriver名称不同,谷歌浏览器是chromedriver.exe
    driver_path = r"D:\python 3.7\Scripts\chromedriver.exe"
    
    #创建一个驱动程序用来驱动浏览器
    chrome = webdriver.Chrome(executable_path=driver_path)
    
    #使用驱动器模拟浏览器发送get请求
    chrome.get("https://www.huya.com/hudae6341")
    
    #沉睡两秒因为selenium使用渲染的方式处理数据,如果数据还没有加载出来就定为不到我们想要的数据
    time.sleep(2)
    
    #使用xpath方式获取登录按钮并且点击它
    chrome.find_element_by_xpath("//span[@class='title clickstat']").click()
    time.sleep(2)
    chrome.find_element_by_xpath("//img[@src='https://udbres.huya.com/images/qrweb.png']").click()
    time.sleep(2)
    
    #使用xpath方式获取账号输入框并且输入账号
    chrome.find_element_by_xpath("//input[@class='UDBSdkLgn-lgInput E_acct']").send_keys("输入自己的账号")
    
    #使用xpath方式获取账号输入框并且输入密码
    chrome.find_element_by_xpath("//input[@class='UDBSdkLgn-lgInput E_passwd']").send_keys("输入自己的密码")
    
    #使用xpath方式获取登陆按钮并点击登陆按钮进行登陆
    chrome.find_element_by_xpath("//a[@class='UDBSdkLgn-lgButton E_login']").click()
    time.sleep(5)
    
    while True: # 定义一个死循环实现一直发送的效果
    # 同理获取输入框 以及发送按钮发送数据
        chrome.find_element_by_xpath("//textarea[@id='pub_msg_input']").send_keys("hello word")
        chrome.find_element_by_xpath("//span[@class='btn-sendMsg enable']").click()

if __name__ == '__main__':
    main()

你可能感兴趣的:(Python,项目爬虫实战)