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 #关闭浏览器
结果展示
点击加载图片