学习了别人破解滑动验证码的过程,自己做了个逻辑图分享给大家,代码也在下面
逻辑导图
代码
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import TimeoutException
from PIL import Image
from io import BytesIO
from time import sleep
import base64
class LoginBiliBili:
def __init__(self, username, password):
"""
初始化数据
:param username: bilibili账号
:param password: 密码
"""
options = webdriver.ChromeOptions()
# 设置为开发者模式,避免被识别
options.add_experimental_option('excludeSwitches',
['enable-automation'])
self.username = username
self.password = password
# 定义浏览器
self.browser = webdriver.Chrome(options=options)
# 定义显示等待
self.wait = WebDriverWait(self.browser, 50)
# bilibili登录url
self.url = 'https://passport.bilibili.com/login'
def open(self):
"""
打开浏览器, 进入登陆界面
输入用户名, 密码
点击登陆
:return: None
"""
self.browser.get(self.url)
username = self.wait.until(EC.element_to_be_clickable