需要从没有ID或名称的div标签的子元素调用onclick方法。在我的网站上有很多div标签。我想遍历具有类名的特定div标签,并获取其子元素一个标签,该标签也具有id并调用其中包含的onclick方法。 HTML:
新事件我在c#中使用了Web浏览器控件,但由于很多div标签都存在,因此无法访问该标签并调用该方法。 PS没有htmlagilitypack。它是一个安全的环境,我无法下载这些包。
答案 0 :(得分:0)
如果您不想使用HtmlAgilityPack,可以使用C#XPath API。它的功能完全相同。除了Regex之外,这可能是最简单的方法。
答案 1 :(得分:0)
如果子元素'确实有id'那么这个id在HTML文档中应该是唯一的,然后点击'在C#代码的子元素上可以实现如下:
var doc = webBrowser1.Document;
string childTagId = "{{type your child tag id here}}";
doc.GetElementById(childTagId).InvokeMember("click");
但是,如果子标记的ID在HTML文档中不是唯一的,并且DIV的类名是唯一的(根据您的描述进行假设),那么C#代码将变为:
var doc = webBrowser1.Document;
string childTagId = "{{type your child tag id here}}";
string className = "{{type your test className here}}";
string childTagName = "{{type your child tag name here}}";
doc.GetElementsByTagName("div").OfType<System.Windows.Forms.HtmlElement>()
.Where(x => x.GetAttribute("className") == className).First()
.All.OfType<System.Windows.Forms.HtmlElement>()
.Where(x => string.Compare(x.TagName, childTagName, true) == 0 &&
x.GetAttribute("id") == childTagId)
.First()
.InvokeMember("click");