F1划词翻译v2版

简单的翻译脚本,使用F1复制选中的内容,通过360翻译网址进行翻译,翻译结果保存在剪切板。

;创建浏览器组件
MyGui := Gui()
WB := MyGui.Add("ActiveX", "w980 h300", "Shell.Explorer").Value  ; 最后一个参数是 ActiveX 组件的名称.
;MyGui.Show()
WB.Navigate("https://fanyi.so.com/#")  ; 这是特定于网页浏览器控件的.初始化翻译网址
f1::
{
    A_Clipboard := "", 翻译结果 := "", 待翻译文本url :="" ; 先让剪贴板为空, 这样可以使用 ClipWait 检测文本什么时候被复制到剪贴板中.
    
    Send "^c"
    ClipWait(5)  ; 等待剪贴板中出现文本.
    if (A_Clipboard==""){
        Return
    }
    ;===尝试获取翻译结果,能获取到就初始化网址,保证结果为空
    try {  ; 尝试获取翻译结果
    翻译结果 := WB.document.querySelector("body > div > div.main > div.import > div.result > p.content").innerText
    }
    if 翻译结果{
        WB.Navigate("https://fanyi.so.com/#")
        翻译结果 := ""
    }
    Sleep 200
    待翻译文本url := Format("https://fanyi.so.com/#{1}", A_Clipboard)
    WB.Navigate(待翻译文本url)  ;
    Sleep 200
    StartTime2 := A_TickCount
    While !翻译结果 { ;翻译结果为空,持续获取翻译结果,直到结果为真
        翻译结果 := WB.document.querySelector("body > div > div.main > div.import > div.result > p.content").innerText ;获取翻译结果
        Sleep 250
        if (A_TickCount-StartTime2 > 5000) { ;超时未检查到就报错
            MsgBox "超时5秒未获取到翻译结果,请检查!"
            Return
        }
    }
    A_Clipboard := 翻译结果
    ToolTip(翻译结果)
    SetTimer () => ToolTip(), -2000
}
Return

给TA捐赠
共{{data.count}}人
人已捐赠
其他应用

SideKeyMaster(鼠标侧键增强软件)

2024-4-30 14:42:30

其他教程

远端JSON快速菜单[类网吧菜单]

2020-3-9 6:00:44

2 条回复 A文章作者 M管理员
  1. AHK中文社区

    还是更推荐api,这种网页版的稳定性不大好

  2. 螃蟹瑞桥

    推荐将网页翻译改成deepL软件翻译,一直在用,选中文本ctrl +c+c就可以翻译

个人中心
购物车
优惠劵
有新私信 私信列表
搜索