AHK 操控 Chrome 打开百度搜索内容并获取结果的示例 —— 史上最简单、说明最详细的操控 Chrome 入门教程!!!

有鉴于,很多人想用 AHK 操控 Chrome,却总是失败或难以入门。

所以特别出了这样一篇详细的教程。

主要想告诉大家2件事:

  • AHK 操控 Chrome 也非常简单。
  • 希望大家也出点教程或者多分享自己的各种心得,这样的好处是你能更熟悉自己学会的一切,同时还能帮助更多的人并从他们那里收获新东西。请注意,教程或者心得真的不需要是高深的才能发。恰恰相反,只要认真写,越是简单的入门的越是能帮助更多人。同时要相信,就算你是小白,也总有比你更小白的小白。而小白弄懂一件事情后,分享出来的,可能远比那些早就熟悉一切的大佬说的更能让初学者理解。

好了,废话不多说,直接看效果。


1. 打开 Chrome 。

ChromeInst := new Chrome("ChromeProfile",,, Chrome路径)  ; 启动 Chrome

2. 获取标签并打开百度。

标签 := ChromeInst.GetPage()                                         ; 连接标签
标签.Call("Page.navigate", {"url": "https://www.baidu.com/"})        ; 打开百度
标签.WaitForLoad()                                                   ; 等待网页加载完成

3. 在搜索框中填入内容并搜索。

搜索内容:="我爱ahk 我爱KMCounter"
标签.Evaluate("document.getElementById('kw').value='" 搜索内容 "';")      ; 搜索框中输入文字
标签.Evaluate("document.getElementById('su').click();")                  ; 点击搜索按钮
标签.WaitForLoad()                                                       ; 等待网页加载完成

4. 显示搜索结果。

第二条搜索结果:="document.getElementById('2').innerText;"
MsgBox, % 标签.Evaluate(第二条搜索结果).value                            ; 打印第二条搜索结果

5. 让 Chrome 弹出提示框。

弹窗内容:="Hello World!nn看到了吧 ahk 操控 Chrome 也是非常简单的"
标签.Evaluate("alert('" 弹窗内容 "');")                                  ; 让 Chrome 弹一个提示框出来

6. 关闭 Chrome 。

标签.Call("Browser.close")       ; 关闭浏览器(所有页面和标签)
标签.Disconnect()                ; 断开连接
ExitApp
return

#Include Chrome.ahk

建议下载完整示例,因为里面注释更加详细,且包含最新的 Chrome 库!

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1学习

遍历数组返回索引,可用于遍历树形结构并返回所有分支路径

2021-3-16 0:06:03

AHKV1学习

Gui新开窗口上按钮只能用g标签调用

2021-3-29 16:31:02

30 条回复 A文章作者 M管理员
  1. jing2024

    学习学习

  2. 1111333

    要学的还有很多

  3. rastar

    受益匪浅,感谢!

  4. rastar

    感谢,研究一下怎么使用

  5. dbgba
    dbgba给您打赏了¥2
  6.   PiQ。

    感谢大佬,一直在想怎么输入变量,原来格式得这样写。

  7. 一PFK

    感谢大佬,小白学习中

  8. 孤独求败

    感谢,研究一下怎么使用

  9. 过去

    支持,学习一下

  10. 火冷

    这个好东西,我也是最近才用上,真的相见恨晚。
    有两个想法,不知道有没有方法解决:
    1、有没有强制浏览器打开都是带DebugPort的方法
    2、发现有些网页滚动无效,需要鼠标点击下页面,按{Home}才能生效。是否可用Evaluate解决此问题
    window.scrollTo(0,0) 对有些页面也是无效。

    • 空

      1.一个比较好的办法是,把 x:chrome.exe 替换为你自己用 ahk 编译的一个 exe ,然后这个编译的 exe 再去调用 chrome.exe,调用的过程中,就能加各种参数了。
      2.chrome.ahk 中,有个 pageinst.call() 支持的参数的网址,里面有很多东西,其中就有让 chrome 自己点鼠标键盘的参数。

  11. 孤独求败

    回头测试一下

  12. liyn

    啥都要金币呢?

    • 1河许人

      哪来的金币?积分机制的话可以看看社区的白皮书!

  13. x020408

    好东西 。不过要是没有注意到包含chrome库,估计你也运行不行。

  14. pster

    很好的入门小案例教程

  15. 米粒

    这个好,解决我遇到的很多问题。👍

  16. lfer

    受益匪浅,感谢!

  17. szdinosaur

    运行出错啊

    • 空

      出错要给出具体信息,不然没法知道你啥问题。就像去医院要说我哪里痛,不能只说我病了一样。

  18. sanmaodo

    链接失效了

    • 空

      链接正常。

  19. 词不达意

  20. LionAHK1

    赞,等下好好研究.

  21. ☆阿让·晓刚

    如果当前已经打开了Chrome,请问ChromeInst.GetPage()能否连接其中指定的某个标签?

    • 空

      用 chrome 库打开的 chrome 应该可以。

    • ☆阿让·晓刚

      但不是ahk或者chrome 库打开的,就是正常点浏览器图标打开的

    • 火冷

      我也有这问题,
      1、强制所有Chrome打开都强制为debug模式,比较彻底和理想。
      2、Chrome是否有命令,关闭当前进程,用debug模式重新打开原有链接。
      这样当发现问题是,关闭后重新打开链接,也是能接受的。

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