自动签到

获得cookies

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as ec
#from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.common.by import By
import time
import json

op = webdriver.FirefoxOptions()
op.add_argument('–headless') #等效于 ———— op.set_headless()
op.add_argument('–disable-gpu') #禁用GPU加速
driver = webdriver.Firefox(firefox_options = op)

driver.get("https://##############.html")
driver.implicitly_wait(10)
trg = driver.find_element_by_xpath("/html/body/div[1]/ul/li[4]/div/a")
trg.click()
trg = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__footerULoginBtn"]')
trg.click()
trg = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__userName"]')
trg.send_keys("AAAAAAAAA")
trg = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__password"]')
trg.send_keys("****************")
trg = driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__submit"]')
trg.click()
time.sleep(50)
#这里是手动部分,手机收到验证码后,手工输入网页的(TANGRAM__PSP_10__submit)文本框中
#然后切记不要点确定,让程序自己去做。
trg = driver.find_element_by_xpath('//*[@id="TANGRAM__25__button_submit"]').click()
time.sleep(10)

cookies = driver.get_cookies()
print(cookies)
print(type(cookies))

with open('cookies.txt','w',encoding = 'utf-8') as f:
    f.write(json.dumps(cookies))

嗯~~~~~~~ 只是一个主要框架,不要在意太多细节。它的作用就是登陆和获得COOKIE

然后是 用COOKIES 登陆

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.common.by import By
import json

op = webdriver.FirefoxOptions()
#op.add_argument("--headless")   #等效于 ———— op.set_headless()
#op.add_argument("--disable-gpu")    #禁用GPU加速
driver = webdriver.Firefox(firefox_options = op)

driver.get("https://*************")
with open('cookies.txt','r',encoding = 'utf-8') as f:
    cookie = f.read()
    cookie =json.loads(cookie)
for c in cookie:
    driver.add_cookie(c)
driver.refresh()
driver.implicitly_wait(5)
trg = driver.find_element_by_xpath('//*[@id="onekey_sign"]/a')
trg.click()
driver.implicitly_wait(5)
trg = driver.find_element_by_xpath('//*[@id="dialogJbody"]/div/div/div[1]/a')
trg.click()
driver.implicitly_wait(10)
trg = driver.find_element_by_xpath('/html/body/div[7]/div/div[2]/div/div/div/div[1]/p')
print(trg.text)
trg = driver.find_element_by_xpath('/html/body/div[7]/div/div[2]/div/div/div')
print(trg.text)
#driver.close()

只记录了核心。重要部分都在里面了。
超级丑地代码只是让可靠地它跑起来,想用的话需要修改。

猜你喜欢

转载自blog.csdn.net/mmlongmm/article/details/85796411
今日推荐