标签:span 开始 exce 注意事项 hal 形式 expect 点赞 click
明日之子第二季开始好久了,作者一直再追,特别喜欢里面那个酷酷的小哥-蔡泽明。前两天晋选9大厂牌,采取的是直播的形式,选手是否会晋级纯靠粉丝手动点赞,而且特别坑的一点是点1000次才算一分贝,当时作者就想可不可以写个脚本自动点赞,当然功夫不负有心人,没有程序猿狂跨不过去的山啊!!!!
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
class Tv(object):
"""
本在Python3环境运行,请根据自己电脑运行环境、浏览器版本等选择适合自己的webdriver
"""
def __init__(self):
# 节目直播的url可能会改,请自行留意
self.url = "http://v.qq.com/live/p/topic/55607/index.html#player"
self.driver = webdriver.Chrome()
def run(self):
self.driver.get(self.url)
"""
出现data-id的地方都要改成自己喜欢的选手的id:
斯外戈:51673736 1673736
蔡伟泽:51673681 1673681
田 燚:51673438 1673438
张毅豪:51571292 1571292
邱洪凯:51673432 1673432
黄翔麒:51673693 1673693
文兆杰:51673466 1673466
孙哲源:51573987 1573987
邓 典:51673370 1673370
如果自己喜欢的选手须下拉点赞榜单才能看到那么他的点赞按钮是不会被加载的,需要自己更改代码等待自己喜欢的选手的点赞按钮加载后才能自动点赞
"""
while True:
WebDriverWait(self.driver, 1000).until(EC.presence_of_element_located((By.XPATH, "//span[@data-id=‘51673681‘]//button[@data-id=‘1673681‘]")))
btn = self.driver.find_element_by_xpath("//span[@data-id=‘51673681‘]//button[@data-id=‘1673681‘]")
# 第一次自动点击会触发登录界面
btn.click()
try:
# 出现登录界面,会等待用户选择微信还是QQ扫码登陆,请手动选择登陆的平台,并手动扫码登录。
if EC.presence_of_element_located((By.XPATH, ‘//a[@class="btn_qq _login_type_item"]‘)):
login_button = self.driver.find_element_by_xpath(‘//a[@class="btn_qq _login_type_item"]‘)
login_button.click()
# 登录我设置的是10秒内必须完成
time.sleep(10)
except:
pass
# 每0.1秒点击一次
# time.sleep(0.1)
tv = Tv()
tv.run()
作者微信:halooyAn
Python爬虫学习--用Python结合Selenium实现 明日之子节目直播时为自己喜欢的选手自动点赞拉票!!!
标签:span 开始 exce 注意事项 hal 形式 expect 点赞 click
原文地址:https://www.cnblogs.com/halooyan/p/9457517.html