前提:
- 需要下载谷歌浏览器驱动,版本需要一致,这个很重要,下载地址如下:
http://chromedriver.storage.googleapis.com/index.html
import time
import random
from PIL import Image
from selenium import webdriver
driver = webdriver.Chrome("../../chromedriver.exe")#指定谷歌驱动目录
#请求网页
driver.get('https://www.huya.com/417964')#52503,863214,417964
time.sleep(10)
# 打印当前渲染过的网页内容
page = driver.page_source
print(page)
- 接下来是使用账号登录:
- 第一种直接程序登录:
# 直接获取登录
driver.find_element_by_id("nav-login").click()
#由于登录按钮是在iframe上,所以把定位器切换到iframe上
driver.switch_to_frame("UDBSdkLgn_iframe")
driver.find_element_by_xpath('//div[@class="udb-input-item"]//input[@placeholder="手机号/虎牙号"]').send_keys('**********')
driver.find_element_by_xpath('//div[@class="udb-input-item"]//input[@placeholder="密码"]').send_keys('**********')
driver.find_element_by_id("login-btn").click()
#返回到主页面
driver.switch_to_default_content()
- 第二种手动登录:
# 预留登陆时间60秒
driver.find_element_by_id("nav-login").click()
time.sleep(60)
死循环发送弹幕:
#死循环发送弹幕
while 1:
# 输出发送弹幕内容
input_text = driver.find_element_by_id('pub_msg_input')
test_arr = ['!!!!!','哈哈哈哈哈哈哈','牛P','我裂开了呀','不要怂,一起上']
random_index = random.randint(0,len(test_arr)-1)
input_text.send_keys(test_arr[random_index])
time.sleep(3)
send_btn = driver.find_element_by_id('msg_send_bt')
send_btn.click()
time.sleep(7)
# 关闭浏览器
driver.close()
截取屏幕图片,并对图片进行裁剪以获取主播头像:
# 全屏,以显示出主播头像
driver.maximize_window()
# Driver获取截屏
driver.get_screenshot_as_file('****.png')
#裁剪图片
img = Image.open('****.png')
img.size #(1920, 889)
#img.show()
img_cut = img.crop([1100,550,1400,720])#定义截取的位置