python模拟网页自动登录京东,代码如下(仅供学习参考)
import cv2
import numpy as np
import traceback
import requests
from urllib import request
from selenium import webdriver
from selenium.webdriver import ActionChains
import datetime
import time
def login(browser, username, password):
try:
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "打开登陆界面")
browser.get("https://passport.jd.com/new/login.aspx")
browser.find_element_by_link_text("账户登录").click()
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "开始填写账号密码")
loginname = browser.find_element_by_name("loginname")
loginpwd = browser.find_element_by_name("nloginpwd")
loginname.clear()
loginpwd.clear()
loginname.send_keys(username)
loginpwd.send_keys(password)
browser.find_element_by_id("loginsubmit").click()
time.sleep(3)
if check_need_jrv(browser):
num = 0
while num < 10000:
try:
num = num + 1
parse_verify_img(browser)
if not check_need_jrv(browser):
break
except BaseException:
print("验证码处理异常,立即重试-" + str(num))
continue
if browser.current_url.startswith("https://aq.jd.com/certified/index"):
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "本次验证需要“京东魔方”验证,请人工完成该验证,该流程将在3分钟内过期")
count_num = 0
while count_num < 180:
count_num = count_num + 1
time.sleep(1)
login_flag = checkLogin(browser, 0)
if login_flag:
break
else:
login_flag = checkLogin(browser, 1)
if login_flag:
print</