C# 检索<;span>;web浏览器控件C中的标记#

C# 检索<;span>;web浏览器控件C中的标记#,c#,webbrowser-control,html,C#,Webbrowser Control,Html,我需要得到标签的偏移位置。。。 我正在使用 HtmlElementCollection sp=textwebBrowser1.Document.GetElementsByTagName(“span”) 获取span标记的集合…但在某些情况下,即使页面中有span标记,集合的计数也为零…我猜这是因为一些对象标记之间有图像信息…例如- 在这种情况下,我不知道如何检索span标记的偏移量 HTML代码: <HTML><BODY>.....Using <OBJECT>

我需要得到标签的偏移位置。。。 我正在使用
HtmlElementCollection sp=textwebBrowser1.Document.GetElementsByTagName(“span”)
获取span标记的集合…但在某些情况下,即使页面中有span标记,集合的计数也为零…我猜这是因为一些对象标记之间有图像信息…例如-

在这种情况下,我不知道如何检索span标记的偏移量

HTML代码:

<HTML><BODY>.....Using <OBJECT> and <EMBED><HTML><HEAD><TITLE>A Web page with a rolling die</TITLE></HEAD><BODY><OBJECT ID="Dieroll1"CLASSID="CLSID:46646B43-EA16-11CF-870C-00201801DDD6"CODEBASE="diero‌​ll.cab#Version=1,0,0,1"WIDTH="200"HEIGHT="200"><PARAM NAME="ForeColor" VALUE="0"><PARAM NAME="BackColor" VALUE="16777215"><PARAM NAME="Image" VALUE="beans.bmp"><EMBED LIVECONNECT NAME="Dieroll1"WIDTH="200"HEIGHT="200"CLASSID="CLSID:46646B43-EA16-11CF-870C-002‌​01801DDD6"TYPE="application/oleobject"CODEBASE="dieroll.cab#Version=1,0,0,1"PARAM‌​_ForeColor="0"PARAM_BackColor="16777215"></OBJECT><BR>Hthe die</BODY></HTML>Arrange to run Explorer when you debug the control.Here's the syntax for an OBJECT tag that sets the Image property:<OBJECTCLASSID="clsid:46646B43-EA16-11CF-870C-00201801DDD6"CODEBASE="http://www.gregcons.com/test/dieroll.ocx"ID=die1WIDTH=200HEIGHT=200ALIGN=centerHSPACE=0VSPACE=0><PARAM NAME="Dots" VALUE="1"><PARAM NAME="Image" VALUE="http://www.gregcons.com/test/beans.bmp">and the <span style='background-color: rgb(255, 255, 0);'>image</span> file you are using....</BODY></HTML>
…使用和带有滚动模具的网页
调试控件时,模具将安排运行资源管理器。以下是设置图像属性的对象标记的语法:以及正在使用的图像文件。。。。
为span标记提供id并使用


document.getElementById('id')
我在你的问题中使用了你的html代码,我得到了所有带有以下代码的span标记:(加载页面后必须运行代码)

void webBrowser1\u DocumentCompleted(对象发送方,WebBrowserDocumentCompletedEventArgs e)
{
列表元素=新列表();
foreach(webBrowser1.Document.GetElementsByTagName(“span”)中的HtmlElement span)
{
span元素。添加(span);
//或添加偏移量
//spanelement.Add(span.offsetlectangle.Top;);
}
}

抱歉…我无法添加整个html代码…因为它太大了:(添加一部分html代码不是完整的代码我试过了…但它不起作用…正如我所提到的,我想这是因为中间有对象标记…有没有办法删除这些对象标记,这样我就可以得到标记的位置?你的代码在我的情况下不起作用..我想这不是对象标记,而是内部html,因为我不能获取span标记…请将上面的html代码添加到上一个,然后尝试代码是否有效..
和..
您的html代码不包含任何span标记???!!我使用了html代码的第二部分在我的文本之间有很多html标记…我删除了这些标记以获得span标记的正确偏移量
 void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        List<HtmlElement> spanelement = new List<HtmlElement>();
        foreach (HtmlElement span in webBrowser1.Document.GetElementsByTagName("span"))
        {
            spanelement.Add(span);
            //Or Add Offset
            //spanelement.Add(span.OffsetRectangle.Top;);
        }
    }