|
@@ -5,6 +5,7 @@ import json
|
|
import os
|
|
import os
|
|
import sys
|
|
import sys
|
|
import time
|
|
import time
|
|
|
|
+import psutil as psutil
|
|
# import atomacos
|
|
# import atomacos
|
|
from appium import webdriver
|
|
from appium import webdriver
|
|
from selenium.webdriver.common.by import By
|
|
from selenium.webdriver.common.by import By
|
|
@@ -16,6 +17,24 @@ from main.common import Common
|
|
|
|
|
|
|
|
|
|
class GetUrl:
|
|
class GetUrl:
|
|
|
|
+ @classmethod
|
|
|
|
+ def kill_pid(cls):
|
|
|
|
+ os.system('chcp 65001') # 将cmd的显示字符编码从默认的GBK改为UTF-8
|
|
|
|
+ list_process = list()
|
|
|
|
+ pid_list = psutil.pids()
|
|
|
|
+ for sub_pid in pid_list:
|
|
|
|
+ try:
|
|
|
|
+ process_info = psutil.Process(sub_pid)
|
|
|
|
+ # print(process_info.name())
|
|
|
|
+ if process_info.name() == 'WechatBrowser.exe' or process_info.name() == 'WeChatPlayer.exe':
|
|
|
|
+ list_process.append(sub_pid)
|
|
|
|
+ except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
|
|
|
+ pass
|
|
|
|
+ # print('\n')
|
|
|
|
+ # print(list_process)
|
|
|
|
+ for pid in list_process:
|
|
|
|
+ os.system('taskkill /f /pid ' + str(pid))
|
|
|
|
+
|
|
@classmethod
|
|
@classmethod
|
|
def click_video(cls, log_type, video_title):
|
|
def click_video(cls, log_type, video_title):
|
|
try:
|
|
try:
|
|
@@ -38,12 +57,11 @@ class GetUrl:
|
|
# print(f'点击视频{video_title}')
|
|
# print(f'点击视频{video_title}')
|
|
driver.find_elements(By.ID, '42.852020.3.487')[-1].click()
|
|
driver.find_elements(By.ID, '42.852020.3.487')[-1].click()
|
|
|
|
|
|
- # 切换 windows 窗口
|
|
|
|
- # windows = driver.window_handles
|
|
|
|
- # driver.switch_to.window(windows[0])
|
|
|
|
|
|
+ Common.logger(log_type).info('退出视频号')
|
|
|
|
+ time.sleep(2)
|
|
|
|
+ cls.kill_pid()
|
|
|
|
|
|
- Common.logger(log_type).info('休眠 3s 后,退出微信')
|
|
|
|
- time.sleep(3)
|
|
|
|
|
|
+ Common.logger(log_type).info('退出微信')
|
|
driver.quit()
|
|
driver.quit()
|
|
|
|
|
|
except Exception as e:
|
|
except Exception as e:
|