ksssdh123
V2EX  ›  Android

webview 如何获取 用户点击的元素

  •  
  •   ksssdh123 · Jul 31, 2019 · 14099 views
    This topic created in 2507 days ago, the information mentioned may be changed or developed.

    尝试用过 webview 自带的 HitTestResult,但是获取不到那种没点击事件的元素

    目前我的需求是 当点击某个元素,能获取其元素的文本内容(其实我就是想监控网页内容的文本)

    jsoup 的作为解析 html 很强大 但是还不够智能,我想通过用户点击某个元素,然后设置下某个规则,例如价格小于或高于等等,然后通知用户

    我知道有个 App 已经实现了,但我不知道是如何做的,反编译都是混淆过的 还是没看明白,如下图

    https://pic.t6q.com/up/2016-12/2016127111140108200.png

    红圈圈里的 就是用户点击的 html 元素

    10 replies    2019-08-01 08:50:11 +08:00
    pual
        1
    pual  
       Jul 31, 2019 via Android   ❤️ 1
    webview 为元素添加点击监听的 js 代码,在那段代码中调用 webview 注解的 addjavascriptinterface 的 Java 方法
    ksssdh123
        2
    ksssdh123  
    OP
       Jul 31, 2019
    @pual 每一个元素 都加一个?
    loginbygoogle
        3
    loginbygoogle  
       Jul 31, 2019   ❤️ 1
    js 注入
    shawndev
        4
    shawndev  
       Jul 31, 2019
    注入 onclick, onfocus 方法?
    crystom
        5
    crystom  
       Jul 31, 2019
    给整个 body 添加一次点击事件,好像事件中 e.target 是被点击的元素
    wsxyeah
        6
    wsxyeah  
       Jul 31, 2019 via iPhone
    直接在页面里用 js 做咯,不要用 native 做
    ho121
        7
    ho121  
       Jul 31, 2019 via Android
    没做过,不过可以提供一个思路:微信长按保存图片
    deepdark
        8
    deepdark  
       Jul 31, 2019 via Android
    js 里做就好了
    sarlanori
        9
    sarlanori  
       Aug 1, 2019
    我说个笨办法,直接获取点击位置坐标,遍历所有元素,判断点击点在哪个元素里就可以了
    ksssdh123
        10
    ksssdh123  
    OP
       Aug 1, 2019
    最终解决思路 就是需要进行监控的元素 设置一下 onclick 事件,然后回调原生 其实就是 js 注入 感谢 1,3 楼
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5419 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 03:37 · PVG 11:37 · LAX 20:37 · JFK 23:37
    ♥ Do have faith in what you're doing.