-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMusicParserBase.py
More file actions
133 lines (103 loc) · 7.67 KB
/
Copy pathMusicParserBase.py
File metadata and controls
133 lines (103 loc) · 7.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# 导入selenium的浏览器驱动接口
import sys
import os
import json
o_path = os.getcwd() # 返回当前工作目录
sys.path.append(o_path) # 添加自己指定的搜索路径
from Common.File.FileBrowser import FileBrowser
import sqlite3
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
from selenium import webdriver
class MusicParserBase():
driver: None
dirRoot: None
urlCreatePlaceId: None
osApp: None
urlold:None
urlnew:None
# rootDirProjectOutPut="F:\\sourcecode\\unity\\product\\kidsgame\\ProjectOutPut"
def SetCmdPath(self, str):
# dir = FileUtil.GetLastDirofDir(str)
# dir = FileUtil.GetLastDirofDir(dir)
# dir = FileUtil.GetLastDirofDir(dir)
dir = ""
self.dirRoot = dir
print("dirRoot = ", dir)
def Init(self):
# 创建chrome浏览器驱动,无头模式(超爽)
chrome_options = Options()
# chrome_options.add_argument('--headless')
self.driver = webdriver.Chrome(chrome_options=chrome_options)
# 全屏
self.driver.maximize_window()
# 具体大小
# driver.set_window_size(width, height)
# self.GoHome()
# self.Login()
# time.sleep(2)
# GoAppgallery(driver)
# # 快照显示已经成功登录
# print(driver.save_screenshot('jietu.png'))
# driver.quit()
def Quit(self,delay):
time.sleep(delay)
self.driver.quit()
time.sleep(1)
# 让元素在可见范围 可以点击操作
def SetItemVisible(self,item,delay=1):
ActionChains(self.driver).move_to_element(item).perform()
time.sleep(delay)
# 该方法用来确认元素是否存在,如果存在返回flag=true,否则返回false
def IsElementExist(self,element):
flag=True
browser=self.driver
try:
# browser.find_element_by_css_selector(element)
browser.find_element(By.XPATH, element)
return flag
except:
flag=False
return flag
def OpenFileBrowser(self,path,autoclick):
FileBrowser.OpenFile(path,autoclick)
def LoginQQ(self,user,password):
# 3452644866
print("waiting for login")
self.AddCookie()
time.sleep(2)
# return
# driver.add_cookie("[{'domain': '.id1.cloud.huawei.com', 'expiry': 1908869785, 'httpOnly': False, 'name': 'sid', 'path': '/', 'secure': True, 'value': '2049382e3828ef4470bef8b426c4bb3370e7d9e1147f53a18839e47dad7caf10a233e61ee15337b4373e'}, {'domain': '.id1.cloud.huawei.com', 'expiry': 1908869785, 'httpOnly': False, 'name': 'hwid_cas_sid', 'path': '/', 'secure': True, 'value': '2049382e3828ef4470bef8b426c4bb3370e7d9e1147f53a18839e47dad7caf10a233e61ee15337b4373e'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1624872984, 'httpOnly': False, 'name': 'HW_idts_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': '1593336984125'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1624872984, 'httpOnly': False, 'name': 'HW_id_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': 'cf787be41ac24d65887dcd20c826ac97'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1624872984, 'httpOnly': False, 'name': 'HW_idvc_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': '1'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1593338788, 'httpOnly': False, 'name': 'HW_idn_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': 'ec569450f0ac4cd78fc72965d91ec7e8'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1608888984, 'httpOnly': False, 'name': 'HW_refts_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': '1593336984124'}, {'domain': '.id1.cloud.huawei.com', 'httpOnly': True, 'name': 'CAS_THEME_NAME', 'path': '/', 'secure': True, 'value': 'red'}, {'domain': 'id1.cloud.huawei.com', 'httpOnly': False, 'name': 'cookieBannerOnOff', 'path': '/', 'secure': False, 'value': 'true'}, {'domain': '.id1.cloud.huawei.com', 'httpOnly': True, 'name': 'VERSION_NO', 'path': '/', 'secure': True, 'value': 'UP_CAS_4.0.4.100'}, {'domain': 'id1.cloud.huawei.com', 'httpOnly': True, 'name': 'JSESSIONID', 'path': '/CAS', 'secure': True, 'value': '144E8B2ED3F5D9C8576742C1DDF4CF3D0DCF6949E13D6943'}]")
self.driver.switch_to.frame("ptlogin_iframe")
time.sleep(2)
self.driver.find_element_by_id('switcher_plogin').click()
time.sleep(1)
item = self.driver.find_element(
By.XPATH, "//input[@id='u']")
item.send_keys(user)
item = self.driver.find_element(By.XPATH, "//input[@id='p']")
item.send_keys(password)
item = self.driver.find_element(
By.XPATH, "//input[@id='login_button']")
item.click()
time.sleep(5)
# cookie = self.driver.get_cookies()
# print(cookie)
# [{'domain': '.id1.cloud.huawei.com', 'expiry': 1908869785, 'httpOnly': False, 'name': 'sid', 'path': '/', 'secure': True, 'value': '2049382e3828ef4470bef8b426c4bb3370e7d9e1147f53a18839e47dad7caf10a233e61ee15337b4373e'}, {'domain': '.id1.cloud.huawei.com', 'expiry': 1908869785, 'httpOnly': False, 'name': 'hwid_cas_sid', 'path': '/', 'secure': True, 'value': '2049382e3828ef4470bef8b426c4bb3370e7d9e1147f53a18839e47dad7caf10a233e61ee15337b4373e'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1624872984, 'httpOnly': False, 'name': 'HW_idts_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': '1593336984125'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1624872984, 'httpOnly': False, 'name': 'HW_id_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': 'cf787be41ac24d65887dcd20c826ac97'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1624872984, 'httpOnly': False, 'name': 'HW_idvc_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': '1'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1593338788, 'httpOnly': False, 'name': 'HW_idn_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': 'ec569450f0ac4cd78fc72965d91ec7e8'}, {'domain': 'id1.cloud.huawei.com', 'expiry': 1608888984, 'httpOnly': False, 'name': 'HW_refts_id1_cloud_huawei_com_id1_cloud_huawei_com', 'path': '/', 'secure': False, 'value': '1593336984124'}, {'domain': '.id1.cloud.huawei.com', 'httpOnly': True, 'name': 'CAS_THEME_NAME', 'path': '/', 'secure': True, 'value': 'red'}, {'domain': 'id1.cloud.huawei.com', 'httpOnly': False, 'name': 'cookieBannerOnOff', 'path': '/', 'secure': False, 'value': 'true'}, {'domain': '.id1.cloud.huawei.com', 'httpOnly': True, 'name': 'VERSION_NO', 'path': '/', 'secure': True, 'value': 'UP_CAS_4.0.4.100'}, {'domain': 'id1.cloud.huawei.com', 'httpOnly': True, 'name': 'JSESSIONID', 'path': '/CAS', 'secure': True, 'value': '144E8B2ED3F5D9C8576742C1DDF4CF3D0DCF6949E13D6943'}]
#获取cookies保存到文件
def SaveCookie(self):
cookies=self.driver.get_cookies()
json_cookies=json.dumps(cookies)
with open('e:/cookies/cookies_taptap.json','w') as f:
f.write(json_cookies)
#读取文件中的cookie
def AddCookie(self):
self.driver.delete_all_cookies()
dict_cookies={}
with open('e:/cookies/cookies_taptap.json','r',encoding='utf-8') as f:
list_cookies=json.loads(f.read())
for i in list_cookies:
self.driver.add_cookie(i)