【发布时间】:2016-02-20 14:09:33
【问题描述】:
我想使用 C# (winforms) 中的 webBrowser 控件 API 或使用注入的 java 脚本来搜索特定网页元素中的单词。
我使用了以下java脚本并将其注入到加载的网页中:
var TRange=null;
function findString (str) {
var strFound;
// EXPLORER-SPECIFIC CODE
if (TRange!=null) {
TRange.collapse(false);
strFound=TRange.findText(str);
if (strFound) TRange.select();
}
else if (TRange==null || strFound==0) {
TRange=self.document.body.createTextRange();
strFound=TRange.findText(str);
if (strFound) TRange.select();
}
if (!strFound) alert ("String '"+str+"' not found!")
return;
}
此代码适用于整个页面,但我想在特定元素的内部文本中进行搜索。如何将我的搜索限制在这样的元素上?
【问题讨论】:
-
元素是什么,你有元素的id、名称或其他属性吗?
-
您如何指定“特定元素”?我的意思是,如果你可以引用一个特定的元素,你可以简单地得到它的
innerText而没有TextRange对象。请注意,在您使用的旧模型中,只能在body、button、textarea或input type="text"上创建文本范围。然后您可以使用TextRange对象的一些方法来移动范围,也可以移动到特定元素。 -
@Teemu 它是一个部门,我想我必须使用 moveToElementText
-
@Ahmad 是的,你应该 :)
标签: javascript c# .net winforms webbrowser-control