Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法将HtmleElement(.NET)与JavaScript元素关联?_C#_.net - Fatal编程技术网

C# 有没有办法将HtmleElement(.NET)与JavaScript元素关联?

C# 有没有办法将HtmleElement(.NET)与JavaScript元素关联?,c#,.net,C#,.net,我正在尝试制作一个扩展版本的,带有突出显示文本和获取Web刮板元素属性等功能WebBrowser函数没有多大帮助,因此如果我能找到一种方法,从HtmleElement到JavaScript元素(如document.getElementById返回的元素),然后再返回,然后从我的应用程序向HTML添加JavaScript函数,这将使工作变得更容易。现在我正在以编程方式处理C#中的HTML代码,这非常混乱。我正在考虑为程序中的每个HTML元素设置一些唯一的Id,然后调用JavaScriptdocum

我正在尝试制作一个扩展版本的,带有突出显示文本和获取Web刮板元素属性等功能
WebBrowser
函数没有多大帮助,因此如果我能找到一种方法,从
HtmleElement
到JavaScript元素(如document.getElementById返回的元素),然后再返回,然后从我的应用程序向HTML添加JavaScript函数,这将使工作变得更容易。现在我正在以编程方式处理C#中的HTML代码,这非常混乱。我正在考虑为程序中的每个HTML元素设置一些唯一的Id,然后调用JavaScript
document.getElementById
来检索它。但这行不通,他们可能已经分配了Id,我会弄乱他们的HTML代码。我不知道我是否能给他们一些虚构的属性,比如
我自己的
,然后找出是否有一些JavaScript函数
getElementByWhateveAttributeIWant
,但我不确定这是否有效。我在msdn中的DOM文档中阅读了一些关于扩展或扩展属性的内容,但我不确定这是关于什么的。也许你们中的一些人有更好的方法。

使用一些渲染引擎从html文档中获取数据会容易得多。这是trident/MSHTML的最新版本。你可以用谷歌搜索,也可以用c#

制作样本,这并不像你想象的那么难。您根本不必修改文档

一旦
WebBrowser
加载了一个页面,它将作为一个树在内部保存,根节点是
document
节点。该节点可供您的程序使用,您可以通过遍历树找到所需的任何元素(或仅列举所有元素)


如果你能给出一个具体的例子,我可以提供一些代码。

好的,我现在要尝试的是通过调用
System.Guid.NewGuid()
,为没有Id的元素生成一个唯一的Id。至少在我找到更好的解决方案之前应该还可以。我相信WebBrowser是一个包装器,不是吗?哦,是的!但程度有限。如果使用MSHTML,则直接在c#中使用GetElementBYId等方法。