问题描述
提示:这里描述项目中遇到的问题:
在当前已开启远程调试端口的
本地浏览器上
,当前有多个标签页且是你需要保留的,那么在启动自动化调试的时候,程序会随机
取一个标签页进行操作。
设想方案:自动化执行逻辑调试前,识别到指定的标签页操作。
解决方案:
// main.py
# 获取所有的目标标签页
targets = driver.execute_cdp_cmd('Target.getTargets', {})
# 通过目标标签页的 URL 进行匹配
target_url = 'https://www.***.com'
target_id = None
for target in targets['targetInfos']:
if target_url in target['url'] and target['type'] == 'page':
target_id = target['targetId']
break
# 如果找到了匹配的标签页,激活它
if target_id:
driver.execute_cdp_cmd('Target.activateTarget', {'targetId': target_id})
else:
raise Exception(f"标签页网站不存在:'{target_url}' ")
# 一定加上这个,不然不生效
driver.switch_to.window(target_id)