找回密码
 加入
搜索
查看: 5680|回复: 12

[网络通信] 关于无界面的谷歌浏览器操作

[复制链接]
发表于 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/"  



评分

参与人数 1金钱 +30 收起 理由
tank + 30 很给力!

查看全部评分

发表于 2018-12-22 16:09:47 | 显示全部楼层
So, 你的问题是?
 楼主| 发表于 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可以操作各种浏览器。

评分

参与人数 2金钱 +40 收起 理由
cashiba + 30
nmgwddj + 10

查看全部评分

发表于 2018-12-22 18:40:37 | 显示全部楼层
zjbdlh 发表于 2018-12-22 17:16
没啥问题,与大家分享而已。

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

建议出个入门教程,造福论坛
 楼主| 发表于 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/,免费的

评分

参与人数 2金钱 +40 收起 理由
cashiba + 30
nmgwddj + 10 赞一个!

查看全部评分

发表于 2018-12-23 21:54:27 | 显示全部楼层
论坛里很少探讨selenium的,终于看到有高手点拨这个问题了.....感谢分享
发表于 2018-12-23 22:03:25 | 显示全部楼层
如果是在 Node.js 环境下,还可以使用 puppeteer。这个 Chrome 团队自己制作的。
发表于 2018-12-24 09:46:51 | 显示全部楼层
真是感激不尽,不能用chrome,我差点就放弃autoit了!
发表于 2019-1-17 14:37:03 | 显示全部楼层
这个例子无法运行
 楼主| 发表于 2019-1-19 15:49:21 | 显示全部楼层
fjwsoft 发表于 2019-1-17 14:37
这个例子无法运行

请用软件自带的AU3或者VBA例子,在例子目录汇总有一个AU3例子,还有都是VBA的例子,我这个是随便写了,只是一个流程
发表于 2019-1-21 21:08:23 | 显示全部楼层
这里真的厉害了,纯干货
发表于 2020-1-10 14:30:38 | 显示全部楼层
之前没空研究,刚测试了下,可以打开浏览器并获取源代码,其他操作还没尝试,语法有较大变化。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 16:28 , Processed in 0.165288 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表