Python 自动签到《Ruike1》

脚本说明

自动登录到论坛并签到

# pom.py
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webelement import WebElement
from selenium.webdriver.support.wait import WebDriverWait
"""
step 1:https://www.selenium.dev/ 下载对应浏览器驱动,放在浏览器根目录
例如:C:\Program Files (x86)\Microsoft\Edge\Application\msedgedriver.exe
step 2: 下载包
pip install selenium
step 3:
引入pom.py
"""
# 技类
class BasePage:
def __init__(self,driver:webdriver,url:str,fullMax:bool=False):
self.driver = driver
self.url = url
# print(driver)
if not driver:
self.driver = webdriver.Edge()
if fullMax:
self.driver.maximize_window()
driver.get(url)
def lazyload(self, by:By, value)->WebElement:
"""
显性加载
:param by: 定位元素的方式
:param value: 表达式
:return: -> WebElement
"""
return WebDriverWait(self.driver, 10).until(lambda x:x.find_element(by, value))
def down_base64_png(self,srcStr:str, file_name:str='code.png')->None:
"""
下载验证码
:return:
"""
import base64
img_data = srcStr.split(',')[1]
img_data = base64.b64decode(img_data)
with open(file_name, 'wb') as f:
f.write(img_data)
def quit(self):
self.driver.quit()
# 不要再函数默认参数里面写函数def run(driver:webDriver=),不然webdriver.Edge()会执行一次
class Ruike1(BasePage):
def __init__(self,driver, url:str='https://www.ruike1.com/',fullMax:bool=False):
super().__init__(driver,url,fullMax)
def login(self,u_name,u_pwd):
el_name = self.lazyload(By.ID,'ls_username')
el_pwd = self.lazyload(By.ID,'ls_password')
el_name.send_keys(u_name)
el_pwd.send_keys(u_pwd)
lg_btn = self.lazyload(By.TAG_NAME,'button')
lg_btn.click()
print('登录成功')
time.sleep(1)
sign_in = self.lazyload(By.ID,'fx_checkin_b')
sign_in.click()
print('签到成功')
time.sleep(1)
self.quit()
if __name__ == '__main__':
rkPage = Ruike1(webdriver.Edge(), fullMax=True)
rkPage.login('520yiyue','mio19900220')
posted @   一个小笨蛋  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示