| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- from selenium import webdriver
- from selenium.webdriver.support.wait import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.webdriver.common.by import By
- from pyquery import PyQuery as pq
- from bs4 import BeautifulSoup
- from time import sleep
- import time
- import traceback
- import json
- import os
- chrome_path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
- # 登录成功后,记录cookie以后好用
- def record_cookie(browser):
- try:
- cookies = browser.get_cookies()
- print(cookies)
- with open('data.json', 'w') as f:
- json.dump(cookies, f)
- except:
- browser.quit()
- print("no_login_id")
- # browser.quit()
- return
- # 登录时添加记录cookies,
- def add_cookie(browser):
- # 加cookies
- with open('data.json', 'r') as f:
- data = json.load(f)
- for c in data:
- # print(str(c))
- if 'expiry' in c:
- str_ex = str(c["expiry"])
- if str_ex.find(".") > -1:
- list_ex = str_ex.split(".")
- c["expiry"] = int(list_ex[0])
- # print(str(c))
- browser.add_cookie(c)
- # 检测是否登录成功
- def check_login(browser):
- login_flag=get_login_flag(browser)
- if not login_flag is None: # 没有登录成功
- # 人工登录了
- sleep(30)
- for i in range(10):
- print('第%d次检测登录' % (i))
- login_flag=get_login_flag(browser)
- if login_flag is None: # 登录进了
- record_cookie(browser)
- return True
- sleep(10)
- return False
- print('登录成功')
- return True
- # 获取登录页面上的标记
- def get_login_flag(browser):
- try:
- login_flag = browser.find_element(By.ID, "check_svg__b")
- except:
- try:
- login_flag = browser.find_element(By.CLASS_NAME, "qr-container")
- except:
- print("没有找到登录标记,说明已经登录成功")
- return None
- return login_flag
|