| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 688 人关注过本帖
标题:无头 WebView2(2025.12.18 更新)
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10964
专家分:43601
注 册:2014-5-20
收藏
得分:0 
论坛的贴图时不时看不到?
前天 16:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10964
专家分:43601
注 册:2014-5-20
收藏
得分:0 
以下是引用DANSON在2025-12-17 15:54:04的发言:

万能的吹版,我把您的代码精简了一下,便于无缝融合到我自己的代码里,经验证可行,是否可以发到这里供兄弟们切磋一下?


切磋是好事,无理由不可。
前天 16:54
DANSON
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2025-10-4
收藏
得分:0 
回复 32楼 吹水佬
谢谢吹版授人以渔的大侠风度,将文件.txt 改成 .prg,即可直接使用。
mywebview_headless-2.txt (5.89 KB)


[此贴子已经被作者于2025-12-17 17:03编辑过]

收到的鲜花
  • laxjyj前天 19:59 送鲜花  1朵  
  • schtg昨天 06:09 送鲜花  1朵  
前天 17:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10964
专家分:43601
注 册:2014-5-20
收藏
得分:0 
1楼更新
封装成vfp类,添加demo:获取cookies、获取js脚本代码,方便理解使用。
前天 23:57
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2371
专家分:4885
注 册:2012-2-29
收藏
得分:0 
昨天 06:09
ykxby001
Rank: 4
等 级:业余侠客
帖 子:101
专家分:206
注 册:2023-7-6
收藏
得分:0 
越来越好
昨天 12:37
DANSON
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2025-10-4
收藏
得分:0 

使用吹版的DLL及DEMO代码,结合我自己的代码,基本上可以应付我在工作场景中接触的绝大多数网址,但像下面的网址,还是无法抓到数据,因为尝试所有的策略获取的源文件(源码),里面都没有网页内容数据,各位兄弟发挥聪明才智,一起找找解决办法:

https://
thread-index: Adw5r6B5uOxiPEuTSiqcFVfs+SQcdA==
昨天 14:33
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:395
专家分:978
注 册:2021-11-24
收藏
得分:0 
以下是引用DANSON在2025-12-18 14:33:26的发言:


使用吹版的DLL及DEMO代码,结合我自己的代码,基本上可以应付我在工作场景中接触的绝大多数网址,但像下面的网址,还是无法抓到数据,因为尝试所有的策略获取的源文件(源码),里面都没有网页内容数据,各位兄弟发挥聪明才智,一起找找解决办法:

https://
thread-index: Adw5r6B5uOxiPEuTSiqcFVfs+SQcdA==


数据加密了,页面加载完毕后,估计是 onload 调用js解密后显示的,所以 必须要渲染,或者自行再调用JS来解密,光获取返回数据不行的

它的数据主体在:<div id=app></div> 这个div中,但初始内容是空的,是js处理显示的。
数据最终来自这个地址:https://
但是需要提交正确的 header 才能获取。
就像百度文库一样,不会让你直接就能获取数据的

[此贴子已经被作者于2025-12-18 18:04编辑过]

昨天 16:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10964
专家分:43601
注 册:2014-5-20
收藏
得分:0 
可以写个禁止运行脚本的demo看看静态的html和js代码
昨天 16:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10964
专家分:43601
注 册:2014-5-20
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

看了一下静态网页与动态网页,好像网页的很大部分内容都是动态生成的。
因此,网页下载完成事件只是静态网页部分下载完成,还要花时间执行脚本生成动态网页部分。
这样试试,在相关模块相应加载网址后加个延时中断等待一下再去取网页源码。
测试代码:适当调整一下 INKEY(0.5) 的等待时间。
程序代码:
FUNCTION getHtmlText(cUrl, script_enabled)
    ofw.print_msg("获取数据,请稍候......")
    web.Settings(IS_SCRIPT_ENABLED, script_enabled)
    LOCAL jsCode, txt
    web.Navigate(cUrl, WAIT_TIMEOUT)
    DOEVENTS 
    INKEY(0.5)
    jsCode = "document.documentElement.outerHTML;"
    web.ExecuteScript(jsCode, .t., WAIT_TIMEOUT)
    RETURN web.returnExecuteScript
ENDFUNC

web.Settings(IS_SCRIPT_ENABLED, script_enabled) 是新增设置是否运行脚本,可忽略。

[此贴子已经被作者于2025-12-19 00:37编辑过]

7 小时前
快速回复:无头 WebView2(2025.12.18 更新)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022323 second(s), 12 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved