以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 如何获取嵌套网页中HTML里的元素? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160066) |
-- 作者:304376480 -- 发布时间:2021/1/19 12:03:00 -- 如何获取嵌套网页中HTML里的元素? 老师您好! 在webbrowser控件中的一个HTML网页,里面又嵌套了一个 #document (这是一个完整的HTML网页,) <body>
<div id="show" style="">123</div>
<dialog style="Top:10px;Width:1100px;Height:700px;" open="">
<iframe id="dialog-body" src="./files/cyjg04.html" style="border: 0; width: 100%; height: 100%;">
#document
(这里面是完整的Html代码)
<body>
<div id="content" class="clearfix"> </div>
</body>
</iframe>
</dialog> </body> 使用Document.GetElementById("") 和 GetElementsByTagName("“)等方法只能获取上一层网页中的元素的 求助,如何拿到嵌套网页中的 Id为content 的 div 元素?
[此贴子已经被作者于2021/1/19 12:04:36编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/19 12:14:00 -- document.getElementById(\'dialog-body\').contentWindow.document.getElementById(\'content\') |
-- 作者:304376480 -- 发布时间:2021/1/19 14:28:00 -- 显示错误: contentWindow不是system.windows.forms.HtmlElement的成员
|
-- 作者:有点蓝 -- 发布时间:2021/1/19 14:34:00 -- 用WindowFrameElement:https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.htmlwindow.windowframeelement?view=net-5.0&viewFallbackFrom=dotnet-uwp-10.0 |
-- 作者:304376480 -- 发布时间:2021/1/19 15:06:00 -- 还是不会用, 在我定义一下变量,列出完整代码吧!
![]() |
-- 作者:有点蓝 -- 发布时间:2021/1/19 15:28:00 -- dim FrameWindow = Document.Window.Frames(0) if FrameWindow isnot nothing dim FrameElement = FrameWindow.WindowFrameElement dim a = FrameElement.getElementById(\'content\') msgbox(a.innerhtml) end if [此贴子已经被作者于2021/1/19 15:28:09编辑过]
|
-- 作者:304376480 -- 发布时间:2021/1/19 16:26:00 -- Dim web As System.Windows.Forms.WebBrowser = e.Form.controls("webbrowser1").basecontrol Dim FrameWindow = web.Document.Window.Frames(0) If FrameWindow IsNot Nothing
Dim FrameElement = FrameWindow.WindowFrameElement
Dim a = FrameElement.OuterHtml
msgbox(a) End If 还是不行,用OuterHtml方法测试打印出的标签还是<iframe >标签本身 <iframe id="dialog-body" src="./files/cyjg04.html" style="border: 0; width: 100%; height: 100%;"> 用InnerHtml方法打印的是空白,还是没有包括里面的#document以及HTML代码 Dim a = FrameElement.document.getElementById(\'content\') 这样a 值仍然为空 [此贴子已经被作者于2021/1/19 16:26:47编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/19 16:36:00 -- 是不是有多个框架? msgbox(web.Document.Window.Frames.count)
|
-- 作者:304376480 -- 发布时间:2021/1/19 19:20:00 -- <dialog open>标签定义对话框或窗口</dialog> 六楼的代码获取到的时<dialog>标签里的内容 <iframe>标签是内联框架,始终没有办法获取, 在百度里查了一下,也有相同的提问,但解决方法好像都是 JS 里的
[此贴子已经被作者于2021/1/19 19:20:06编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/19 20:11:00 -- 网页文件发上来测试 |