|
@@ -29,14 +29,16 @@ class GanggangdouchuanRecommend:
|
|
if env == "dev":
|
|
if env == "dev":
|
|
chromedriverExecutable = '/Users/wangkun/Downloads/chromedriver/chromedriver_v107/chromedriver'
|
|
chromedriverExecutable = '/Users/wangkun/Downloads/chromedriver/chromedriver_v107/chromedriver'
|
|
else:
|
|
else:
|
|
- chromedriverExecutable = '/Users/piaoquan/Downloads/chromedriver'
|
|
|
|
|
|
+ # chromedriverExecutable = '/Users/piaoquan/Downloads/chromedriver' # Mac 爬虫机器
|
|
|
|
+ chromedriverExecutable = 'C:\\chromedriver\\chromedriver.exe' # 阿里云 Windows
|
|
|
|
|
|
Common.logger(log_type, crawler).info('启动微信')
|
|
Common.logger(log_type, crawler).info('启动微信')
|
|
Common.logging(log_type, crawler, env, '启动微信')
|
|
Common.logging(log_type, crawler, env, '启动微信')
|
|
caps = {
|
|
caps = {
|
|
"platformName": "Android", # 手机操作系统 Android / iOS
|
|
"platformName": "Android", # 手机操作系统 Android / iOS
|
|
"deviceName": "a0a65126", # 连接的设备名(模拟器或真机),安卓可以随便写
|
|
"deviceName": "a0a65126", # 连接的设备名(模拟器或真机),安卓可以随便写
|
|
- "platforVersion": "11", # 手机对应的系统版本(Android 11)
|
|
|
|
|
|
+ "udid": "emulator-5554", # 指定 adb devices 中的哪一台设备
|
|
|
|
+ "platforVersion": "12", # 手机对应的系统版本
|
|
"appPackage": "com.tencent.mm", # 被测APP的包名,乐活圈 Android
|
|
"appPackage": "com.tencent.mm", # 被测APP的包名,乐活圈 Android
|
|
"appActivity": ".ui.LauncherUI", # 启动的Activity名
|
|
"appActivity": ".ui.LauncherUI", # 启动的Activity名
|
|
"autoGrantPermissions": "true", # 让 appium 自动授权 base 权限,
|
|
"autoGrantPermissions": "true", # 让 appium 自动授权 base 权限,
|
|
@@ -56,8 +58,8 @@ class GanggangdouchuanRecommend:
|
|
"chromeOptions": {"androidProcess": "com.tencent.mm:appbrand0"},
|
|
"chromeOptions": {"androidProcess": "com.tencent.mm:appbrand0"},
|
|
'browserName': ''
|
|
'browserName': ''
|
|
}
|
|
}
|
|
- driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
|
|
|
|
- driver.implicitly_wait(20)
|
|
|
|
|
|
+ driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) # 指定 Appium 端口号:4723
|
|
|
|
+ driver.implicitly_wait(30)
|
|
# 向下滑动页面,展示出小程序选择面板
|
|
# 向下滑动页面,展示出小程序选择面板
|
|
for i in range(120):
|
|
for i in range(120):
|
|
try:
|
|
try:
|
|
@@ -79,11 +81,11 @@ class GanggangdouchuanRecommend:
|
|
driver.swipe(int(size['width'] * 0.5), int(size['height'] * 0.2),
|
|
driver.swipe(int(size['width'] * 0.5), int(size['height'] * 0.2),
|
|
int(size['width'] * 0.5), int(size['height'] * 0.8), 200)
|
|
int(size['width'] * 0.5), int(size['height'] * 0.8), 200)
|
|
# 打开小程序"刚刚都传"
|
|
# 打开小程序"刚刚都传"
|
|
- time.sleep(3)
|
|
|
|
|
|
+ time.sleep(5)
|
|
Common.logger(log_type, crawler).info('打开小程序"刚刚都传"')
|
|
Common.logger(log_type, crawler).info('打开小程序"刚刚都传"')
|
|
Common.logging(log_type, crawler, env, '打开小程序"刚刚都传"')
|
|
Common.logging(log_type, crawler, env, '打开小程序"刚刚都传"')
|
|
driver.find_elements(By.XPATH, '//*[@text="刚刚都传"]')[-1].click()
|
|
driver.find_elements(By.XPATH, '//*[@text="刚刚都传"]')[-1].click()
|
|
- time.sleep(10)
|
|
|
|
|
|
+ time.sleep(15)
|
|
cls.get_videoList(log_type, crawler, oss_endpoint, env, driver)
|
|
cls.get_videoList(log_type, crawler, oss_endpoint, env, driver)
|
|
driver.quit()
|
|
driver.quit()
|
|
Common.logger(log_type, crawler).info('退出微信成功\n')
|
|
Common.logger(log_type, crawler).info('退出微信成功\n')
|
|
@@ -91,8 +93,6 @@ class GanggangdouchuanRecommend:
|
|
except Exception as e:
|
|
except Exception as e:
|
|
Common.logger(log_type, crawler).error(f'start_wechat异常:{e}\n')
|
|
Common.logger(log_type, crawler).error(f'start_wechat异常:{e}\n')
|
|
Common.logging(log_type, crawler, env, f'start_wechat异常:{e}\n')
|
|
Common.logging(log_type, crawler, env, f'start_wechat异常:{e}\n')
|
|
- cmd = "adb kill-server && adb start-server"
|
|
|
|
- os.system(cmd)
|
|
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
def get_video_url(cls, log_type, crawler, env, driver: WebDriver, video_element):
|
|
def get_video_url(cls, log_type, crawler, env, driver: WebDriver, video_element):
|
|
@@ -177,11 +177,12 @@ class GanggangdouchuanRecommend:
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
def get_videoList(cls, log_type, crawler, oss_endpoint, env, driver: WebDriver):
|
|
def get_videoList(cls, log_type, crawler, oss_endpoint, env, driver: WebDriver):
|
|
|
|
+ driver.implicitly_wait(20)
|
|
# 切换到小程序
|
|
# 切换到小程序
|
|
cls.check_to_applet(log_type, crawler, env, driver)
|
|
cls.check_to_applet(log_type, crawler, env, driver)
|
|
- time.sleep(1)
|
|
|
|
- index = 0
|
|
|
|
|
|
|
|
|
|
+ time.sleep(5)
|
|
|
|
+ index = 0
|
|
while True:
|
|
while True:
|
|
try:
|
|
try:
|
|
if cls.search_elements(log_type, crawler, env, driver, '//wx-view[@class="lists"]') is None:
|
|
if cls.search_elements(log_type, crawler, env, driver, '//wx-view[@class="lists"]') is None:
|
|
@@ -365,6 +366,5 @@ class GanggangdouchuanRecommend:
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
- GanggangdouchuanRecommend.start_wechat('recommend', 'ganggangdouchuan', 'out', 'dev')
|
|
|
|
-
|
|
|
|
|
|
+ GanggangdouchuanRecommend.start_wechat('recommend', 'ganggangdouchuan', 'inner', 'dev')
|
|
pass
|
|
pass
|