v2dev
V2EX  ›  C#

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

  •  
  •   v2dev · Aug 31, 2019 · 13306 views
    This topic created in 2625 days ago, the information mentioned may be changed or developed.

    求大佬们指点,谢谢!

    13 replies  •  2019-08-31 14:53:33 +08:00
    Mithril
    Mithril
    Aug 31, 2019
    1
    直接上 Chrome Driver 吧
    v2dev
    v2dev
    OP
    Aug 31, 2019
    2
    @Mithril 我目前的需求是要跨进程获取 html,Chrome Driver 怕是实现不了吧
    sadfQED2
    sadfQED2
    Aug 31, 2019 via Android❤️1
    3
    难道你是想偷偷监听别人在浏览什么?
    chinvo
    chinvo
    Aug 31, 2019 via iPhone
    4
    ((基址+偏移)+偏移)...
    Mithril
    Mithril
    Aug 31, 2019
    5
    @zhuwd 不然你以为那些 Selenium 的自动测试是怎么实现的啊,都是 WebDriver 直接通到浏览器里去啊。这本身就是浏览器自带的功能。
    gamexg
    gamexg
    Aug 31, 2019
    7
    chrome、frefox 等就不用说了,
    我记得 ie 也有接口可以控制 ie,当年内部系统要求数字证书,使用过 python 控制 ie 自动抓取内容生成报表。
    不过只有句柄的情况下能不能做到就不确定了,建议检查相关源码。
    geelaw
    geelaw
    Aug 31, 2019 via iPhone
    8
    用 Automation API
    hkitdog
    hkitdog
    Aug 31, 2019 via iPhone
    9
    @Mithril 如果要读取己经在运行的 chrome 的网页内容,web driver 不可以实现吧? chrome driver 不是会打开一个全新的窗口吗
    v2dev
    v2dev
    OP
    Aug 31, 2019 via iPhone
    10
    @Mithril 简单看了一下,selenium 可以在浏览器之前已经打开的情况下直接连接到浏览器吗……
    dcalsky
    dcalsky
    Aug 31, 2019
    11
    我初中用易语言劫持 windows 的全局 socket,然后能监听 /修改浏览器的发包。c#应该也能做到吧?而且也能在 ssl 层之前拦截到,还是不错的。
    mumbler
    mumbler
    Aug 31, 2019 via Android
    12
    好恐怖
    Mithril
    Mithril
    Aug 31, 2019
    13
    @hkitdog
    @zhuwd
    它打开一个新窗口只是为了附加一些额外的启动参数。只要你的浏览器本身启动时就加了那些参数就没问题了。
    一般来说加个 remote debugging port 基本就能用了,其他的还有重定向用户数据等等,但你可以不加。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   664 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 21:13 · PVG 05:13 · LAX 13:13 · JFK 16:13
    ♥ Do have faith in what you're doing.