from selenium import webdriver
import time
user = input('请输入你的微博用户名:')
password = input('请输入你的微博密码:')
# 打开Chrome 浏览器
browser = webdriver.Chrome()
# 打开微博网页
browser.get('https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=https%3A%2F%2Fm.weibo.cn%2F')
#微博加载比较慢,我们给它设置15s的打开时间,然后关闭浏览器
time.sleep(5)
#查找微博用户名输入框
user_name = browser.find_element_by_css_selector("#loginName")
#查找id = 'loginname'的元素
#将用户名发送到用户名输入框
user_name.send_keys(user)
#send_keys()方法,用于模拟键盘输入
#查找微博密码输入框
pass_word = browser.find_element_by_css_selector("#loginPassword")
#查找父元素为calss = 'info_list password'的子元素为node-type='password'的input标签
#将密码发送到密码输入框
pass_word.send_keys(password)
#查找微博登录按钮
register = browser.find_element_by_css_selector("#loginAction")
#查找父元素为calss = 'info_list login_btn' 的子元素node-type='submitBtn'的a标签
#模拟鼠标点击登录
register.click()
#click()方法,用于模拟鼠标点击元素
time.sleep(10)
#获取心上人的微博主页
url = input('请复制你的心上人微博主页:')
browser.get(url)
i = 1
while i < 11: #设置点赞失败次数,当点赞失败次数小于11次时结束循环
i += 1
while True:
try: # 异常处理
# 查找所有点赞的按钮,但是因为评论和转发的class也跟点赞相同,所以在下方需要做判断
btns = browser.find_elements_by_css_selector(".m-diy-btn.m-box-col.m-box-center.m-box-center-a")
for btn in btns: # 遍历所有点赞按钮
if btn.text == '赞': # 判断点赞按钮的文本内容是否是‘赞’
time.sleep(5)
btn.click() # 模拟鼠标点击点赞按钮
print("恭喜,本次点赞成功")
else:
continue
except:
print('发生错误,本次点赞失败')
time.sleep(6)
break
browser.refresh()
time.sleep(15) # 每15秒刷新一次微博内容
browser.close() #关闭浏览器
输出结果