You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用代码在Edge所有现有配置文件中自动执行Bing搜索查询

修复Edge多配置文件Bing搜索自动化脚本的问题

原脚本在默认配置文件中运行正常,但AI提供的脚本存在参数错误、配置识别逻辑异常等问题,导致出现创建新配置文件、部分配置无法正常执行的情况。以下是修正后的完整脚本及问题说明:

修正后的PowerShell脚本

# 定义每个配置文件的搜索任务函数
function Invoke-BingSearchForProfile {
    param(
        [Parameter(Mandatory=$true)]
        [string]$ProfileDirectoryName
    )

    # 提前读取随机词汇列表,避免每次循环重复读取文件提升效率
    $wordList = Get-Content -Path "C:\Users\ashq4\OneDrive\Documents\RandomwordList.txt"
    $questionPrefixes = @("what+is+", "Definition+", "Thesaurus+for+", "Examples+of+", "prefixes+for+", "suffixes+for+")

    # 先启动对应配置文件的Edge窗口(确保窗口存在)
    Start-Process -FilePath "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" `
        -ArgumentList "--profile-directory=`"$ProfileDirectoryName`" --no-first-run --no-default-browser-check" `
        -WindowStyle Minimized

    # 等待窗口初始化完成
    Start-Sleep -Milliseconds 1000

    # 执行45次随机搜索
    for ($i = 0; $i -lt 45; $i++) {
        $randomWord = Get-Random -InputObject $wordList
        $randomQuestion = Get-Random -InputObject $questionPrefixes
        $searchUrl = "http://www.bing.com/search?q=$randomQuestion$randomWord"

        # 在对应配置文件的窗口中打开搜索标签页
        Start-Process -FilePath "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" `
            -ArgumentList "--profile-directory=`"$ProfileDirectoryName`" $searchUrl" `
            -WindowStyle Minimized

        Start-Sleep -Milliseconds 1500
    }

    # 打开当前配置的Bing奖励仪表盘
    Start-Sleep -Milliseconds 2000
    Start-Process -FilePath "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" `
        -ArgumentList "--profile-directory=`"$ProfileDirectoryName`" https://www.bing.com/rewards/dashboard"

    Write-Host "完成配置文件 $ProfileDirectoryName 的搜索任务"
}

# 获取Edge所有已存在的配置文件目录
$edgeUserDataPath = "$env:LOCALAPPDATA\Microsoft\Edge\User Data"
$profiles = Get-ChildItem -Path $edgeUserDataPath -Directory | Where-Object {
    $_.Name -eq "Default" -or $_.Name -match "^Profile \d+$"
} | Select-Object -ExpandProperty Name

# 遍历每个配置文件执行搜索任务
foreach ($profile in $profiles) {
    Invoke-BingSearchForProfile -ProfileDirectoryName $profile
}

Write-Host "所有配置文件任务执行完毕"

关键修改说明

  1. 修正参数传递错误
    原脚本重复拼接--profile-directory参数,导致Edge解析错误并创建无效新配置。修正后直接传递配置文件目录名给参数,确保指向现有配置。

  2. 正确识别所有现有配置
    调整配置文件筛选逻辑,同时包含Default默认配置和标准命名的Profile X目录(通过正则匹配^Profile \d+$),覆盖所有用户已创建的配置。

  3. 优化执行效率与稳定性

    • 提前读取随机词汇列表,减少重复IO操作
    • 增加窗口初始化等待时间,确保Edge完全启动后再执行搜索,避免标签页打开异常
    • 给配置目录名添加引号,避免目录名含空格时出现参数解析错误

内容的提问来源于stack exchange,提问作者Asheeq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:52:14