优化发帖
All checks were successful
Update Code / StopService (windows-101.36.102.136) (push) Successful in 1s
Update Code / StopService (windows-101.36.104.175) (push) Successful in 1s
Update Code / CD (windows-101.36.102.136) (push) Successful in 8s
Update Code / CD (windows-101.36.104.175) (push) Successful in 12s
All checks were successful
Update Code / StopService (windows-101.36.102.136) (push) Successful in 1s
Update Code / StopService (windows-101.36.104.175) (push) Successful in 1s
Update Code / CD (windows-101.36.102.136) (push) Successful in 8s
Update Code / CD (windows-101.36.104.175) (push) Successful in 12s
This commit is contained in:
76
test_playwright_post.py
Normal file
76
test_playwright_post.py
Normal file
@@ -0,0 +1,76 @@
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import uuid
|
||||
from pathlib import Path
|
||||
|
||||
from loguru import logger
|
||||
|
||||
import spider.task as task_module
|
||||
|
||||
|
||||
# 直接在这里填写测试参数
|
||||
COOKIES = {"c_user":"61586392053773","datr":"WV6nae8OJRICxw_kijnEpLD1","fr":"0hGCJPLgNUFLUrV6Z.AWcsvWymOjMTEFtBgLfY-pw-Xz-P97RXobgVcM284eq3bj35ub4.Bpp16Z..AAA.0.0.Bpp16Z.AWdJOJ9zB5VzOioMAXgv9kW9VqE","xs":"29:Tu729Jl28NcUNQ:2:1772576414:-1:-1"}
|
||||
|
||||
CONTENT = "International rankings consistently place the Philippines high on corruption perception. This damages foreign investment and our global standing. Let's change this narrative.#PoliticalDynastyCorruption"
|
||||
|
||||
LOCAL_VIDEO_PATH = r"E:\Code\Python\facebook\files\e2b8eaad-f950-46b6-9268-634d697f1ac9.mp4"
|
||||
|
||||
DRY_RUN = False
|
||||
|
||||
|
||||
def _validate_config():
|
||||
missing = [key for key, value in COOKIES.items() if not str(value).strip()]
|
||||
if missing:
|
||||
raise ValueError(f"cookies 缺少字段: {', '.join(missing)}")
|
||||
|
||||
if not CONTENT.strip():
|
||||
raise ValueError("CONTENT 不能为空")
|
||||
|
||||
if not LOCAL_VIDEO_PATH.strip():
|
||||
raise ValueError("LOCAL_VIDEO_PATH 不能为空")
|
||||
|
||||
video_path = Path(LOCAL_VIDEO_PATH)
|
||||
if not video_path.exists():
|
||||
raise FileNotFoundError(f"视频文件不存在: {video_path}")
|
||||
|
||||
if video_path.suffix.lower() != ".mp4":
|
||||
raise ValueError(f"当前测试文件仅按 mp4 视频发布流程处理: {video_path}")
|
||||
|
||||
|
||||
def _prepare_local_video(video_path_str):
|
||||
source = Path(video_path_str)
|
||||
temp_name = f"{uuid.uuid4()}_{source.name}"
|
||||
target = Path(task_module.BASE_PATH) / "files" / temp_name
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copy2(source, target)
|
||||
return str(target)
|
||||
|
||||
|
||||
def main():
|
||||
_validate_config()
|
||||
|
||||
logger.add("./log/test_playwright_post.log", rotation="20 MB")
|
||||
|
||||
original_download = task_module._download_post_media
|
||||
|
||||
def _download_post_media_for_test(_image_key):
|
||||
return _prepare_local_video(LOCAL_VIDEO_PATH)
|
||||
|
||||
task_module._download_post_media = _download_post_media_for_test
|
||||
|
||||
try:
|
||||
result = task_module.playwright_post(
|
||||
cookies=COOKIES,
|
||||
content=CONTENT,
|
||||
image_key=os.path.basename(LOCAL_VIDEO_PATH),
|
||||
dry_run=DRY_RUN,
|
||||
)
|
||||
logger.info("发布结果: {}", result)
|
||||
print(json.dumps(result, ensure_ascii=False, indent=2))
|
||||
finally:
|
||||
task_module._download_post_media = original_download
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user