采用了第三方的一个库“Seleninum”,用来完成自动化登录
在别人的笔记中轻松了解并且使用seleninum
首先呢导入这个库中的webdriver、By
from selenium import webdriver
from selenium.webdriver.common.by import By
utg = webdriver.Edge()
# 浏览器的名字
可以设置一个变量存储一下自己的账号和密码或者手动输入等
然后对网页进行访问,由于网站的类型、种类、样式大不相同,在获取相对应的input框的时候需要自己找一下对应的位置等,
utg.get(url)
# 对网页进行访问
# print(utg)
username = utg.find_element(By.CSS_SELECTOR,
"body > div.jinsom-main-content.sns.clear > div.jinsom-content-right > div > div.jinsom-sidebar-box.jinsom-widget-user-login > div > p.a> input")
# 获取用户账号输入框
# print(username)
username.send_keys(user)
# 输入用户名
password = utg.find_element(By.CSS_SELECTOR,
"body > div.jinsom-main-content.sns.clear > div.jinsom-content-right > div > div.jinsom-sidebar-box.jinsom-widget-user-login > div > p.b > input")
# 获取用户密码输入框
password.send_keys(pwd)
# 输入用户密码
button = utg.find_element(By.CSS_SELECTOR,
"body > div.jinsom-main-content.sns.clear > div.jinsom-content-right > div > div.jinsom-sidebar-box.jinsom-widget-user-login > div > div")
# 获取登录按钮
button.click()
# 点击登录按钮
utg.implicitly_wait(5)
# 等待网页加载
在获取相对应的文本框之后呢就可以把存储的用户信息自动的输入到网站的输入框内,找到登录的按钮并登录,等待路由的跳转,在跳转完成之后有对页面进行进一步的分析
try:
qiadao = utg.find_element(By.CSS_SELECTOR,"body > div.jinsom-main-content.sns.clear > div.jinsom-content-right > div > div.jinsom-sidebar-box.jinsom-widget-user-login > div > div.sign.opacity")
qiadao.click()
print("签到成功!")
kuang = utg.find_element(By.CSS_SELECTOR,"#layui-layer2 > span > a")
# 获取弹框的关闭按钮
kuang.click()
# 点击关闭按钮
print("签到框已经关闭")
utg.close()
# 关闭浏览器
print("已经为您关闭浏览器!")
except Exception as e:
# print("错误码","\n",
# e)
print("您今天已经签到过了请不要重复签到")
utg.close()
# 关闭浏览器
print("已经为您关闭浏览器!")
获取到签到按钮然后点击,在获取到关闭弹窗按钮再次点击就完成了签到,
网站内签到如果签到之后他的那个签到的按钮就会消失,所以我就做了个判定,如果能够获取到签到的按钮并且点击就会签到成功并且关闭我的浏览器,如果获取不到签到的按钮就会报错,并且抛出异常,做出响应并且关闭浏览器