zjbdlh 发表于 2018-12-22 13:19:12

关于无界面的谷歌浏览器操作

2018年12月微软跪了,宣布桌面版Edge浏览器将采用Chromium内核,以后会有越来越多的网站对Chromium内核的浏览器优化,研究操作谷歌浏览器是大势所趋。
微软早已宣布IE浏览器不会再更新了,XP只支持到8.0,WIN10只支持到11就终止了。
以后,各网站会逐步减少对IE的优化,IE存在的意义就是下载其它浏览器。


无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。
好处就是速度快,消耗资源少,缺点就是不透明。


无界面运行的要求:谷歌浏览器的版本至少在Chrome 59及其以上
下面是一段以无界面运行方式打开网站的命令
C:\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe --headless --remote-debugging-port=9222 http://www.hao123.com
对网页屏幕截图
chrome --headless --disable-gpu --screenshot http://www.hao123.com
自动生成截图文件screenshot.png
更为详细的参考资料见:https://developers.google.cn/web/updates/2017/04/headless-chrome


用AU3操作浏览器:
前提:需要安装Selenium的包装库,就可以用无界面方式操作浏览器了。
包装库软件Selenium BASIC的下载地址(普通方法无法下载,被墙了,请自找相关爬长城的软件,百度大把大把的):https://github.com/florentbr/SeleniumBasic/releases
下面是调用谷歌浏览器的代码,其实可以还调用Firefox,Safari,Chrome,Opera等,IE更是不在话下。



$wdv = ObjCreate("SeleniumWrapper.WebDriver")


/以无界面方式启动
$wdv.addArgument "headless"

/用谷歌浏览器打开百度(”chrome"代表使用谷歌浏览器。)
$wdv.Start "chrome", "http://www.baidu.com/"


nmgwddj 发表于 2018-12-22 16:09:47

So, 你的问题是?

zjbdlh 发表于 2018-12-22 17:16:14

nmgwddj 发表于 2018-12-22 16:09
So, 你的问题是?

没啥问题,与大家分享而已。

用python爬虫都会用到这个Selenium库,只是想告诉大家AU3也可以的。
对于网页模拟操作,最容易的就是模拟键盘鼠标去操作,然后加上OCR自动识别文字元素,整个走向就是AI。
而模拟键盘鼠标那用户无法操作电脑。基本很少用,所以很多人选IE,利用IE浏览器实现各个网页元素点击或者获得数据,非常方便,但是IE由于与操作系统绑定,效率极其低下。所以谷歌浏览器大放光彩。

而目前微软放弃自己的内核,标志着越来越多的网站会专为Chromium内核的浏览器做优化。
所以需要研究一下如何用AU3操作浏览器,当然你要用WINHTTP或者是XMLHTTP自己操作网页也未尝不可,只是太麻烦了。

所以这篇帖子只是告诉大家,AU3可以操作各种浏览器。

zghwelcome 发表于 2018-12-22 18:40:37

zjbdlh 发表于 2018-12-22 17:16
没啥问题,与大家分享而已。

用python爬虫都会用到这个Selenium库,只是想告诉大家AU3也可以的。


建议出个入门教程,造福论坛

zjbdlh 发表于 2018-12-22 21:58:13

这个没必要出教程,因为只是对Selenium库做了个包装,编程语言都可以调用,易语言也可以。
所有的参数、方法、事件、属性都与Selenium一样,所以查阅Selenium的参考资料就ok了,大家要做的只是下载这个软件包而已,安装后会有例子和帮助文件。

逍遥逸仙 发表于 2018-12-23 12:41:05

Selenium BASIC的下载地址:https://github.com/florentbr/SeleniumBasic/releases
今天我这里测试了一下,不需翻墙也能访问。
如果需要翻墙访问一下谷歌(其他网站不支持),可以用谷歌访问助手http://www.ggfwzs.com/,免费的

cashiba 发表于 2018-12-23 21:54:27

论坛里很少探讨selenium的,终于看到有高手点拨这个问题了.....感谢分享
{:face (316):}

gplane 发表于 2018-12-23 22:03:25

如果是在 Node.js 环境下,还可以使用 puppeteer。这个 Chrome 团队自己制作的。

weineng 发表于 2018-12-24 09:46:51

真是感激不尽,不能用chrome,我差点就放弃autoit了!

fjwsoft 发表于 2019-1-17 14:37:03

这个例子无法运行

zjbdlh 发表于 2019-1-19 15:49:21

fjwsoft 发表于 2019-1-17 14:37
这个例子无法运行

请用软件自带的AU3或者VBA例子,在例子目录汇总有一个AU3例子,还有都是VBA的例子,我这个是随便写了,只是一个流程

fenhanxue 发表于 2019-1-21 21:08:23

这里真的厉害了,纯干货

junziyeaicai 发表于 2020-1-10 14:30:38

之前没空研究,刚测试了下,可以打开浏览器并获取源代码,其他操作还没尝试,语法有较大变化。
页: [1]
查看完整版本: 关于无界面的谷歌浏览器操作