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

39 条回复 A文章作者 M管理员
  1. tunghwa

    学习学习

  2. Uson

    学习一下

  3. 妙啊

    学习

  4. Gaobang

    感谢太有用了

  5. jing2024

    学习学习

  6. 1111333

    要学的还有很多

  7. rastar

    受益匪浅,感谢!

  8. rastar

    感谢,研究一下怎么使用

  9. dbgba
    dbgba给您打赏了¥2
  10.   PiQ。

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

  11. 一PFK

    感谢大佬,小白学习中

  12. 孤独求败

    感谢,研究一下怎么使用

  13. 过去

    支持,学习一下

  14. 火冷

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

    • 空

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

  15. 而今迈步从头越

    赞,回去看看能不能vivaldi用

  16. 孤独求败

    回头测试一下

  17. liyn

    啥都要金币呢?

    • 11010010

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

  18. x020408

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

  19. pster

    很好的入门小案例教程

  20. 米粒

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

  21. lfer

    受益匪浅,感谢!

  22. szdinosaur

    运行出错啊

    • 空

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

  23. sanmaodo

    链接失效了

    • 空

      链接正常。

  24. 词不达意

  25. LionAHK1

    赞,等下好好研究.

  26. ☆阿让·晓刚

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

    • 空

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

    • ☆阿让·晓刚

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

    • 火冷

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

    • ☆阿让·晓刚

      还是用插件方便些,Chrome就用vimium插件。

    • 火冷

      大部分情况下是这样的,有些特殊情况: 1. 用了插件,可能会导致网页异常。 2. 纯粹用js,可能不太好操控网页,结合ahk会简单不少。 3. 插件在浏览器内,权限受限,也需要有ahk补充会更加开阔

    • ☆阿让·晓刚

      如果确实需要与当前已经打开的网页联系沟通,建议看下quicker软件,今年某个版本更新后增加了浏览器插件,可以实现脚本通过插件与浏览器传递消息,貌似挺不错(好像略有一点延迟)。如果你们能搞一个ahk版,那就完美了。

个人中心
今日签到
有新私信 私信列表
搜索