问题标签 [microsoft.mshtml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
598 浏览

winforms - mshtml和ie9的WinForms问题

IE9 似乎在我的 32 位 winforms .net 3.5 应用程序中破坏了我基于 mshtml com 的 WebBrower html 编辑器。(由于我必须使用 activex USB 设备控制器,它必须设置为 32 位。)

这个错误是不稳定的 - 它不会发生在我的系统上。如果我的客户运行 IE9,然后使用基于 WebBrowser 的 html 编辑器运行我的 32 位应用程序,我的应用程序挂起,没有响应。IE8 没有发生这种情况。

这太搞砸了,我什至不知道如何提出这个问题。

0 投票
1 回答
923 浏览

.net - 如何从 HTMLDocument (mshtml) 获取 IServiceProvider 和 IMarkupServices

我正在做一些测试,以这种方式创建 HTMLDocument 的实例:

并且需要获得对 IMarkupServices 的引用。

这是我目前正在使用的代码:

当我运行它(它托管在控制台应用程序中)时,会引发以下异常:

注意: 我要做的是对我用 mshtml 实现的一些对象进行单元测试。当我在 BHO(在 Internet Explorer 中)运行相同的代码时,它工作正常。

非常感谢

编辑:这是我最后用来让它工作的代码

我通过检查以下 WatiN 的实现使其工作:http ://www.java2s.com/Open-Source/CSharp/Web-Testing/WatiN/WatiN/Examples/MsHtmlBrowser/MsHtmlNativeBrowser.cs.htm 基于盛江有用的答案.

0 投票
0 回答
1290 浏览

com - “mshtml.HTMLWindow2Class.document”抛出 System.UnAuthorizedAccessException。

我正在使用mshtml.HTMLWindow2Class.document属性来检查网页的状态。但我不断收到以下异常:

System.UnAuthorizedAccessException。

有人知道如何解决吗?我认为可能没有为 mshtml 正确配置某些权限,但我不知道检查和配置它的详细步骤。


也许我可以这样说:

如果 COM 组件缺少某些权限,我该如何授予它?

谢谢!

0 投票
1 回答
645 浏览

.net - 在 .NET 中的 createDocumentFromUrl 调用中包含 post 变量

我在 Visual Basic 2010 Express 中有一个使用 IHTMLDocument 对象解析网页的项目。这是我用来检索网页的函数:

我基本上是在用这个函数做这样的事情:

我试图弄清楚当我检索 HTML 文档时如何在 URL 字符串之外包含 POST 变量。我的意思是我希望能够做到这样的事情:

所以我想修改我现有的 GetHTML 函数,以便允许我在可能的情况下包含 post 变量,如果不是,我想知道是否有其他方法可以做到这一点。感谢任何能提供帮助的人。

0 投票
0 回答
170 浏览

mshtml - mshtml 和 CLS 合规性

我目睹了 mshtml 和 CLS 合规性的一些奇怪行为。

我有一个标记为 CLSCompliant(true) 的程序集。此程序集不会公开来自 mshtml 的任何类型。

我可以很容易地使代码符合 CLS,但有几件事似乎破坏了它:

  1. 引入“使用 mshtml;” 语句而不是每次使用类型时手动引用命名空间。出于某种原因,这违反了 CLS 合规性。

  2. 如果我转换以下内容:

    对此:

    这似乎也违反了 CLS 合规性。

任何人都可以就这里可能发生的事情提供任何见解吗?因为对我来说,这些都没有违反 CLS 合规性。

PS 当我说违反 CLS 合规性时,会针对 mshtml 命名空间中以下划线开头的每种类型或类似的 CLS 违规发出 167 条警告。

谢谢。

0 投票
4 回答
2377 浏览

c++ - 在 HTML 解析中使用 IHTMLDOMAttribute 获取 Cpp 中标签的属性

请帮助我使用 .html 进行 html 解析MSHTML。我获取特定标签所有属性的代码是这样的

问题是对于给定的标签<input id="Switch l_id2" class="pointer" name="Switch" onclick='SetControl("Switch l",1)' type="button" value="OK">,它会打印除属性之外的所有value属性。该get_specified函数正在返回false属性value

我的输出是

知道为什么吗?还有哪些其他属性可能有这个问题?

笔记

我试过这样。它显示了正确的属性结果value

0 投票
1 回答
342 浏览

c++ - 需要为新的 Internet Explorer 版本更新 MsHtml

由于 Internet Explorer 9 有一个新界面IDOMDocumentType( http://msdn.microsoft.com/en-us/library/ff975983%28v=vs.85%29.aspx )。

这些接口在mshtml.h. 但是我有 Visual Studio 2005,它还没有这个接口声明。即使这个接口是在 Visual Studio 2012 文件中声明的,我也不会为了获得 20 行代码的声明而安装新的 Visual Studio!我的磁盘已经满了!

我知道这不是必需的,如果我在代码中添加 20 行,我可以使用 Visual Studio 2005 轻松完成此操作。

谁能告诉我微软是否为新的 Internet Explorer 版本的开发人员发布了更新以及在哪里可以找到它们?

如果没有,我在哪里可以找到mshtml.h包含 Internet Explorer 9 新界面的内容?

埃尔穆

0 投票
2 回答
13575 浏览

javascript - 使用 vba 和 InternetExplorer.Application 触发事件以重新计算 jquery 表单

我正在尝试从不同的网站收集数据。因此,我正在使用 excel vba 并启动 Internet Explorer。我可以填写普通表格。但有时我必须填写一个动态表单,后面有一个 jquery 脚本。

如果填写了前 2 个字段并触发了事件,则该表单将仅启用所有输入字段(下拉菜单)。

所以我的脚本能够填写表格,但不能触发所需的“重新计算”事件。

如果您用鼠标手动填写表格,它就可以工作。我怎样才能模拟这个事件?

这是我的 excel vba 脚本:

0 投票
2 回答
1954 浏览

c# - 为什么 .Net 的 MSHTML 没有 querySelector 和 querySelectorAll,或者它们在哪里?

我想使用MSHTML [1] 来访问IE中的DOM,但是我刚刚发现它在HTML文档类中缺少querySelector和querySelectorAll方法,否则对于通过CSS选择器获取文档中的元素非常有帮助。

我现在能想到的唯一解决方法是通过执行脚本来完成所有事情,但这很糟糕。

是否有任何具有两种方法(querySelector 和 querySelectorAll)的 MSHTML 版本?是否有任何其他库(希望是 Microsoft 的官方 .Net 库)可以使用这两种方法或其等效方法?

[1] %ProgramFiles(x86)%\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll

0 投票
1 回答
1408 浏览

c# - 使用 explorer.document 作为 HtmlAgilityPack 的源 HtmlDocument

我想在 Internet Explorer 中使用当前加载的网页,就像HtmlDocument在 HtmlAgilityPack 中一样。我通过 mshtml 使用资源管理器文档作为 COM 对象。

然后我尝试将其转换为在 HtmlAgilityPack 中使用的 HtmlDocument

但由于无效的强制转换操作,它不起作用。异常消息如下所示。

异常消息

无论如何,我想使用当前加载的网页作为 htmlagilitypack 的源,我知道我可以使用 htmlagility pack 提供的 HtmlWeb 并加载当前 url,但我想突出显示加载页面中的元素(使用 htmlagilitypack 找到的元素)我猜它不能通过这种实施来完成。任何实现这一点的想法任何支持都会很棒。谢谢。