m0_73374531 2025-07-23 12:35 采纳率: 0%
浏览 10

使用python代码操作:右键点击chrome快捷方式,选择属性

需要将chrome浏览器设置为调试模式,同时测试是否设置成功,操作步骤如下:
1.右键点击桌面chrome浏览器,选择“属性”
2.在“目标”路径后面填写 --remote-debugging-port=9222,点击“应用”,关闭页面
3.双击chrome浏览器快捷方式,启动chrome浏览器,在地址条输入http://localhost:9222,回车
4.判断网页是否连接
5.如果网页连接被拒绝,则重复上面4个步骤,端口号取值范围9222-10000
6.如果网页连接成功,则步骤停止,并反馈成功的端口号码;如果不成功,则一直测试到9999后自动停止。

import os
import win32com.client
import requests
import time


def find_available_debug_port():
 
    desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
    shortcut_path = os.path.join(desktop_path, "Google Chrome.link")

    if not os.path.exists(shortcut_path):
        raise FileNotFoundError("Chrome桌面快捷方式不存在")

    shell = win32com.client.Dispatch("WScript.Shell")
    shortcut = shell.CreateShortCut(shortcut_path)
    original_target = shortcut.TargetPath

    for port in range(9222, 10000): 
        try:
            new_target = f'"{original_target}" --remote-debugging-port={port}'
            shortcut.TargetPath = new_target
            shortcut.Arguments = f"--remote-debugging-port={port}"
            shortcut.Save()

       
            os.startfile(shortcut_path)
            time.sleep(3)  # 等待浏览器启动

            
            test_url = f"http://localhost:{port}"
            try:
                response = requests.get(test_url, timeout=5)
                if response.status_code == 200:
                    print(f"✅ 成功使用端口 {port},访问地址: {test_url}")
                    return port
            except requests.exceptions.RequestException:
                print(f"❌ 端口 {port} 不可用,继续尝试...")

           
            os.system('taskkill /f /im chrome.exe')

        except Exception as e:
            print(f"端口 {port} 设置失败: {str(e)}")
            continue

    print("⚠️ 未找到可用端口(9222~9999)")
    return None


 if __name__ == "__main__":
     print("开始自动寻找可用调试端口...")
     found_port = find_available_debug_port()
     if found_port:
         print(f"最终使用端口: {found_port}")
         print(f"请访问: http://localhost:{found_port}")
     else:
         print("未找到可用端口")
     input("按回车键退出...")

运行结果:FileNotFoundError: Chrome桌面快捷方式不存在。
复核快捷方式的位置,在C:\Users\lenovo\Desktop。视觉看在桌面左边第一列,第三行。
请问是什么原因导致错误?

  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2025-07-23 12:36
    关注

    中午好🌞🌞🌞
    本答案参考通义千问

    你遇到的错误是:

    FileNotFoundError: Chrome桌面快捷方式不存在
    

    这表明你的代码在尝试查找桌面上的 Google Chrome.link 时,未能找到该文件。根据你提供的信息,快捷方式位于 C:\Users\lenovo\Desktop,但代码中使用的是 os.path.join(os.path.expanduser("~"), "Desktop"),这个路径在 Windows 中通常会指向 C:\Users\用户名\Desktop


    🔍 原因分析

    1. 快捷方式名称不匹配
      你的快捷方式可能不是 Google Chrome.link,而是其他名称,比如 Chrome.lnkGoogle Chrome.lnk。系统生成的快捷方式通常是 .lnk 文件,而不是 .link

    2. 路径拼接问题
      虽然 os.path.expanduser("~") 是正确的,但有时 Windows 系统中“桌面”路径可能被重定向或设置为不同的位置(例如通过组策略),导致 ~\Desktop 不等于实际的桌面路径。

    3. 权限问题
      如果你没有管理员权限,可能无法访问某些路径或读取快捷方式。


    ✅ 解决方案

    1. 检查快捷方式的实际名称和路径

    你可以手动打开资源管理器,进入 C:\Users\lenovo\Desktop,查看 Google Chrome 的快捷方式是否为以下形式之一:

    • Google Chrome.lnk
    • Chrome.lnk
    • Google Chrome (2).lnk

    注意: 快捷方式的扩展名是 .lnk,不是 .link


    2. 修改代码中的快捷方式名称

    将代码中的:

    shortcut_path = os.path.join(desktop_path, "Google Chrome.link")
    

    修改为:

    shortcut_path = os.path.join(desktop_path, "Google Chrome.lnk")
    

    或者如果你的快捷方式名称不同,请替换为实际的名称,例如:

    shortcut_path = os.path.join(desktop_path, "Chrome.lnk")
    

    3. 打印当前路径以调试

    在代码中添加打印语句,确认路径是否正确:

    print("当前桌面路径:", desktop_path)
    print("快捷方式路径:", shortcut_path)
    

    4. 完整修改后的代码示例

    import os
    import win32com.client
    import requests
    import time
    
    
    def find_available_debug_port():
        desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
        print("当前桌面路径:", desktop_path)
    
        # 尝试多种可能的快捷方式名称
        possible_shortcuts = [
            "Google Chrome.lnk",
            "Chrome.lnk",
            "Google Chrome (2).lnk"
        ]
    
        for shortcut_name in possible_shortcuts:
            shortcut_path = os.path.join(desktop_path, shortcut_name)
            if os.path.exists(shortcut_path):
                print(f"✅ 找到快捷方式: {shortcut_name}")
                break
        else:
            raise FileNotFoundError("未找到 Chrome 快捷方式")
    
        shell = win32com.client.Dispatch("WScript.Shell")
        shortcut = shell.CreateShortCut(shortcut_path)
        original_target = shortcut.TargetPath
    
        for port in range(9222, 10000): 
            try:
                new_target = f'"{original_target}" --remote-debugging-port={port}'
                shortcut.TargetPath = new_target
                shortcut.Arguments = f"--remote-debugging-port={port}"
                shortcut.Save()
    
                os.startfile(shortcut_path)
                time.sleep(3)  # 等待浏览器启动
    
                test_url = f"http://localhost:{port}"
                try:
                    response = requests.get(test_url, timeout=5)
                    if response.status_code == 200:
                        print(f"✅ 成功使用端口 {port},访问地址: {test_url}")
                        return port
                except requests.exceptions.RequestException:
                    print(f"❌ 端口 {port} 不可用,继续尝试...")
    
                os.system('taskkill /f /im chrome.exe')
    
            except Exception as e:
                print(f"端口 {port} 设置失败: {str(e)}")
                continue
    
        print("⚠️ 未找到可用端口(9222~9999)")
        return None
    
    
    if __name__ == "__main__":
        print("开始自动寻找可用调试端口...")
        found_port = find_available_debug_port()
        if found_port:
            print(f"最终使用端口: {found_port}")
            print(f"请访问: http://localhost:{found_port}")
        else:
            print("未找到可用端口")
        input("按回车键退出...")
    

    🧪 验证步骤

    1. 运行修改后的代码。
    2. 查看控制台输出,确认是否找到了快捷方式。
    3. 如果仍然报错,请检查快捷方式的实际名称并更新代码。
    4. 确保 Chrome 浏览器已安装,并且快捷方式指向了正确的可执行文件路径。

    ✅ 总结

    | 问题 | 原因 | 解决方法 | |------|------|----------| | FileNotFoundError: Chrome桌面快捷方式不存在 | 快捷方式名称错误或路径不正确 | 修改为 Google Chrome.lnk 并验证路径 | | 端口测试失败 | Chrome 未正确启动或防火墙限制 | 检查 Chrome 是否运行、关闭杀毒软件或防火墙 |

    如还有其他问题,欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 7月23日