1185907650 发表于 2021-6-18 17:35:46

火山视窗CEF浏览器用网页框架操作实现取本机IP、地址

本源码转载自利快云https://www.lkuaiy.com/

火山视窗CEF浏览器用网页框架操作实现取本机IP、地址 一、准备工作在网页中存在一种名叫“框架”的元素,具体表现为“iframe”标签,在一些网站的源码中可以看到,如果网页源码中没有存在这个关键词,就证明这个网站只有一个主框架。框架最主要的作用可用于方便动态载入一些数据进去,但是会导致一个小缺点,如果直接网页源码,是取不到框架内的网页源码的,这时候利用CEF浏览器的框架操作,首先将“iframe”框架取出来,取出来框架后就可以非常方便的操作框架内的网页元素。https://www.lkuaiy.com/image/editor/16239767408026.png 例如打开“https://www.ip138.com/”cha询ip的网站源码,可以在源码中看到“iframe”证明这个网站是有一个框架的存在的。https://www.lkuaiy.com/image/editor/16239767465790.png 打开火狐浏览器的开发者工具(F12),可以看到这个框架内存放的正是ip地址信息。接下来的操作就是要取出这个框架,并取出里面的源码,同时进行html解析取出里面的网页信息。https://www.lkuaiy.com/image/editor/16239767551947.png 首先简单设计个界面,元素如下。https://www.lkuaiy.com/image/editor/16239767629477.png 配置一下html解析工具类模块,稍后会用到。 https://www.lkuaiy.com/image/editor/16239767689312.png 二、取网页所有框架 1、利用“取所有框架名称”方法取出所有框架的网页名称,大多数一些框架是无法直接通过源码得知框架名称的,因为可能这个框架就没有写名字。因此需要使用这个方法来操作获取所有框架名称。 即便是没有名称的iframe框架也会有一个默认的名称存在,因此可以取出来。 2、将获取的数组进行调试输出。https://www.lkuaiy.com/image/editor/16239767732800.png 3、最后调试后会在火山信息栏会看到这个输出信息,总共有两个数组成员,成员1是空文本,空文本表示的是主框架,也就是浏览器当前显示网页的主要框架。因为网页中只有一个子框架,因此成员2肯定就是这个框架的名字,将这个名字复制下来。 https://www.lkuaiy.com/image/editor/16239767815457.png 4、在这个框架的源码中,可以看到是在一个p标签里面,因此cha询网页元素的时候路径可以使用“body > p”来cha询。 https://www.lkuaiy.com/image/editor/16239767908453.png 5、首先根据框架名称取出框架对象。6、然后根据框架对象取源码进行解析。7、随后根据路径cha询元素取节点。8、取出节点对象后就可以取出里面的文本数据。https://www.lkuaiy.com/image/editor/16239768016766.png 最后效果,可以看到内容被取出。https://www.lkuaiy.com/image/editor/16239768168044.gif **** Hidden Message *****




1185907650 发表于 2021-7-31 21:54:15

日常一顶

1185907650 发表于 2021-8-6 09:40:05

日常一顶

芒g一号 发表于 2021-8-12 19:53:48

看一下看一下看一下

白天打伞 发表于 2021-8-29 16:39:25

看看11111

su8359 发表于 2021-9-29 07:28:38

看一下学习:)

网猫 发表于 2021-11-7 13:31:10

{:3_41:}

OLvogue 发表于 2021-11-7 15:26:42

取出节点对象后就可以取出里面的文本数据:)

cxz7411 发表于 2021-11-7 16:03:24

cef这个不错,就是有些事件不触发,比如执行js,**出js窗口.

凝逸AI 发表于 2021-11-18 23:55:25

看一下看一下
页: [1] 2 3
查看完整版本: 火山视窗CEF浏览器用网页框架操作实现取本机IP、地址