用mshtml.IHTMLElement如何获取网页元素的焦点

Small_XiaKe 2016-01-26 09:46:56

mshtml.IHTMLElementCollection IHEC = (mshtml.IHTMLElementCollection)Doc.all.tags("input");
foreach (mshtml.IHTMLElement item in IHEC)
{
if (item.innerText.ToString().Equals(innerText))
{
//item就是要找的元素
break;
}

}

上述代码可以获取网页中的元素,我想在找到该元素之后, 在设置焦点。好多帖子说item.Focus()可以获取,这种方法在webbrowser中的IHTMLElement 中管用,但是在mshtml.IHTMLElement不管用,不知道有没有什么特殊的方法。
...全文
459 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Small_XiaKe 2016-01-30
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
focus是可以的,但是如果有弹出层模拟的,可能取得的不是你看到的那个,用ie f12调试下
引用 2 楼 FoxDave 的回复:
对象找的对吗?或者像大版说的被其他东西盖住了
引用 3 楼 wyd1520 的回复:
就是用focus呀 两个基本没什么区别的
问题已经解决了,强制转换一下就行了 HTMLInputElement InputElement;
mshtml.IHTMLElement Element ;
HTMLInputElement InputElement;
InputElement = Element as HTMLInputElement;//强制转换成HTMLInputElement类型的元素
InputElement.focus();//获取焦点
SendKeys.Send(Value);//输入值
本拉灯 2016-01-27
  • 打赏
  • 举报
回复
就是用focus呀 两个基本没什么区别的
Justin-Liu 2016-01-27
  • 打赏
  • 举报
回复
对象找的对吗?或者像大版说的被其他东西盖住了
threenewbee 2016-01-26
  • 打赏
  • 举报
回复
focus是可以的,但是如果有弹出层模拟的,可能取得的不是你看到的那个,用ie f12调试下

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧