C#--知道了某个浏览器窗口的句柄,可以获取到里面的 HTML 吗?

2019-08-31 10:09:42 +08:00
 zhuwd

求大佬们指点,谢谢!

12112 次点击
所在节点    C#
13 条回复
Mithril
2019-08-31 10:14:42 +08:00
直接上 Chrome Driver 吧
zhuwd
2019-08-31 11:15:44 +08:00
@Mithril 我目前的需求是要跨进程获取 html,Chrome Driver 怕是实现不了吧
sadfQED2
2019-08-31 11:22:21 +08:00
难道你是想偷偷监听别人在浏览什么?
chinvo
2019-08-31 11:28:17 +08:00
((基址+偏移)+偏移)...
Mithril
2019-08-31 11:40:26 +08:00
@zhuwd 不然你以为那些 Selenium 的自动测试是怎么实现的啊,都是 WebDriver 直接通到浏览器里去啊。这本身就是浏览器自带的功能。
wallriding
2019-08-31 11:43:56 +08:00
gamexg
2019-08-31 11:51:58 +08:00
chrome、frefox 等就不用说了,
我记得 ie 也有接口可以控制 ie,当年内部系统要求数字证书,使用过 python 控制 ie 自动抓取内容生成报表。
不过只有句柄的情况下能不能做到就不确定了,建议检查相关源码。
geelaw
2019-08-31 12:08:50 +08:00
用 Automation API
hkitdog
2019-08-31 12:12:07 +08:00
@Mithril 如果要读取己经在运行的 chrome 的网页内容,web driver 不可以实现吧? chrome driver 不是会打开一个全新的窗口吗
zhuwd
2019-08-31 12:29:44 +08:00
@Mithril 简单看了一下,selenium 可以在浏览器之前已经打开的情况下直接连接到浏览器吗……
dcalsky
2019-08-31 13:59:22 +08:00
我初中用易语言劫持 windows 的全局 socket,然后能监听 /修改浏览器的发包。c#应该也能做到吧?而且也能在 ssl 层之前拦截到,还是不错的。
mumbler
2019-08-31 14:01:27 +08:00
好恐怖
Mithril
2019-08-31 14:53:33 +08:00
@hkitdog
@zhuwd
它打开一个新窗口只是为了附加一些额外的启动参数。只要你的浏览器本身启动时就加了那些参数就没问题了。
一般来说加个 remote debugging port 基本就能用了,其他的还有重定向用户数据等等,但你可以不加。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/596698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX