import json
import time
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
class GetSessionAndToken():
def __init__(self):
# 启用无头模式,可选
browser_options = webdriver.FirefoxOptions()
browser_options.add_argument('–headless')
browser_options.add_argument('–disable-gpu')
self.browser = webdriver.Firefox(firefox_options=browser_options)
# self.browser = webdriver.Chrome()
# 打开网页
def request(self):
url = “https://wx.ismartgo.com/esaleapi/h5/magazine.html?sgc-hsb=true&areaid=155487&sgc-transition=true”
self.browser.get(url)
获取数据
def get_data(self):
# 是要从localStorage中获取还是要从sessionStorage中获取,具体看目标系统存到哪个中
# window.sessionStorage和直接写sessionStorage是等效的
# 一定要使用return,不然获取到的一直是None
# get的Item不一定就叫sessionId,得具体看目标系统把sessionid存到哪个变量中
data = self.browser.execute_script(‘return sessionStorage.getItem(“magazine_?sgc-hsb=true&areaid=155487&sgc-transition=true_last_scroll”);’)
return data
def del(self):
# 退出程序时关闭浏览器
self.browser.close()
if name == “main”:
obj = GetSessionAndToken()
obj.request()
ret = json.loads(obj.get_data())
print(ret[‘versions’][0][‘activityname’])
print(ret[‘versions’][0][‘areaid’])
print(ret[‘versions’][0][‘begindate’])
print(ret[‘versions’][0][‘enddate’])
print(ret[‘pageImages’])