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','csdfsdcdcdsd')
本文来自博客园,作者:一个小笨蛋,转载请注明原文链接:https://www.cnblogs.com/paylove/p/18689470

浙公网安备 33010602011771号