<>某查滑动验证码实现自动登录(火狐可以,谷歌不行)

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!
import time from selenium import webdriver from selenium.webdriver.firefox.
optionsimport Options from selenium.webdriver.common.by import By from selenium.
webdriver.support.ui import WebDriverWait from selenium.webdriver.support import
expected_conditionsas EC from selenium.webdriver import ActionChains user_name
= '123' password = '123' login_url = '这个登录页面url' def login(): options = Options(
) # options.add_argument('--headless') # 无头 options.add_argument('--disable-gpu'
) options.add_argument('--no-sandbox') browser = webdriver.Firefox(options=
options) wait = WebDriverWait(browser, 5) browser.get(login_url) browser.
execute_script('delete navigator.__proto__.webdriver') normalLogin = browser.
find_element_by_id('normalLogin') normalLogin.click() loginName = wait.until(EC.
presence_of_element_located((By.ID, 'nameNormal'))) pwd = wait.until(EC.
presence_of_element_located((By.ID, 'pwdNormal'))) for i in user_name: loginName
.send_keys(i) time.sleep(0.05) for i in password: pwd.send_keys(i) time.sleep(
0.05) slider = move(browser, wait) if slider: loginBtn = wait.until(EC.
presence_of_element_located((By.CLASS_NAME, 'login-btn'))) loginBtn.click() else
: print('登录失败') def move(browser, wait): """ 控制滑块移动 """ for _ in range(3):
browser.execute_script('delete navigator.__proto__.webdriver') slider = wait.
until(EC.presence_of_element_located((By.ID, 'nc_1_n1z'))) ActionChains(browser)
.click_and_hold(slider).perform() ActionChains(browser).move_by_offset(xoffset=
308, yoffset=0).perform() ActionChains(browser).release().perform() try: err =
wait.until( EC.presence_of_element_located((By.CSS_SELECTOR, '.errloading
.nc-lang-cnt a'))) err.click() continue except: print('滑块验证成功') return 1

技术
今日推荐
PPT
阅读数 126
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信