WebBrowser如何遍历iframe中每个元素的在屏幕上的坐标? WebBrowser如何遍历iframe中每个元素的在屏幕上的坐标?假如 已经找到 iframe 元素 ee , HtmlDocument iframeDoc = ee.Document;遍历 iframeDoc 结果是父窗口的元素.正确的怎样写.谢谢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是原理,获取title_txt在屏幕上的坐标位置,自己慢慢看吧WebBrowser wb;HTMLDocument doc = (HTMLDocument)wb.Document.DomDocument;object index = 1;IHTMLWindow2 frame1 = (IHTMLWindow2)doc.frames.item(ref index);HTMLDocument doc1 = (HTMLDocument)frame1.document;//51文章发表标题IHTMLElement title_txt = (IHTMLElement)doc1.getElementById("subject");int x = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetLeft + title_txt.offsetLeft + ((IHTMLElement)wb.Document.Body).offsetLeft + this.Left;int y = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetTop + title_txt.offsetTop + ((IHTMLElement)wb.Document.Body).offsetTop + this.Top; 更正下:int x = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetLeft + title_txt.offsetLeft + doc.body.offsetLeft + this.Left;int y = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetTop + title_txt.offsetTop + doc.body.offsetTop + this.Top; HTMLDocument doc1 = (HTMLDocument)frame1.document;这步出错, HtmlDocument doc = (HtmlDocument)webBrowser1.Document.Window.Frames["frame名字"].Document; 我提供给你的方法是通过Dom来访问webbrower页面元素至于你能否成功,看你的调试能够力了原理肯定无误别忘记using mshtml; MessageBox.Show(webBrowser1.Document.Window.Frames["main"].Document.Body.InnerHtml);HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;object j;for (int i = 0; i < doc.parentWindow.frames.length; i++){ j = i; HTMLWindow2Class frame = doc.parentWindow.frames.item(ref j) as HTMLWindow2Class; if (frame.name == "main") { MessageBox.Show(frame.document.title); }} IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.Window.Frames["main"].Document.DomDocument;private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e){ string url = webBrowser1.Document.Window.Frames["main"].Document.ActiveElement.GetAttribute("src");} Mysql+.NET C# 插入和修改报错,异常详细信息: System.Data.Odbc.OdbcException: 一个类似于词法分析器的C#listbox的问题 BindingSource问题 comboBox 怎么根据指定的数据选定 (WinForm下面) c#中如何实现memcpy???? C#下全局变量加锁的问题 MessageBox.Show("欢迎进入"); 在DBhelper中,获取WebService客户端的IP地址 非常简单的问题:如何写入文件 请帮忙传个文件---如果您是宽带的话,pp号码是3565331再现等待!!! 正则的问题 WPF就找第一列选择框。
HTMLDocument doc = (HTMLDocument)wb.Document.DomDocument;
object index = 1;
IHTMLWindow2 frame1 = (IHTMLWindow2)doc.frames.item(ref index);
HTMLDocument doc1 = (HTMLDocument)frame1.document;//51文章发表标题
IHTMLElement title_txt = (IHTMLElement)doc1.getElementById("subject");int x = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetLeft + title_txt.offsetLeft + ((IHTMLElement)wb.Document.Body).offsetLeft + this.Left;
int y = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetTop + title_txt.offsetTop + ((IHTMLElement)wb.Document.Body).offsetTop + this.Top;
int x = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetLeft + title_txt.offsetLeft + doc.body.offsetLeft + this.Left;
int y = ((IHTMLElement)doc.getElementsByName("iframe的name").item(ref index)).offsetTop + title_txt.offsetTop + doc.body.offsetTop + this.Top;
别忘记using mshtml;
HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
object j;
for (int i = 0; i < doc.parentWindow.frames.length; i++)
{
j = i;
HTMLWindow2Class frame = doc.parentWindow.frames.item(ref j) as HTMLWindow2Class;
if (frame.name == "main")
{
MessageBox.Show(frame.document.title);
}
}
IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.Window.Frames["main"].Document.DomDocument;private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
string url = webBrowser1.Document.Window.Frames["main"].Document.ActiveElement.GetAttribute("src");
}