c# - 以编程方式在浏览器中获取选定的文本

标签 c# html cross-browser screen-scraping text-extraction

我想从我的 Windows 应用程序中检测“Internet Explorer”、Firefox 和任何其他浏览器中的选定文本。

你知道为了实现这个我应该使用哪一段代码吗?

想法不是在IE中搜索文本,而是在IE中“捕获所选文本”。顺便说一下,不仅是 IE,还有任何具有焦点的 Windows 应用程序 我能想到的一件事是模拟一个 ctrl+c 来复制选定的文本,然后读取剪贴板,但我也不喜欢这个解决方案。

我几乎可以肯定应该有一种方法可以使用 Windows API 获取选定的文本,我知道使用 EM_GETSELTEXT、WM_GETTEXT、EM_GETSEL 可能会有用,但它们在 IE 或任何其他浏览器中不起作用,这是我的问题。 ...

最佳答案

这是一个相当高的要求。我认为您可能只有很小的机会通过 IE 实现这一点,您可以在 IE 中加载与“外部”浏览器中加载的相同页面到 WebBrowser 中。控件,并获取选中的文本。据我所知,并根据长期寻求做这样的事情的人的建议,Firefox 没有任何自动化模型可以在不付出巨大努力和风险的情况下由 C# 代码访问。

您对页面有任何控制权吗?您可能会考虑注入(inject) jQuery 之类的东西以使用 Ajax 调用发布选择,并设置一个服务器来监听该调用。

关于c# - 以编程方式在浏览器中获取选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2000059/

相关文章:

c# - C# winforms 中的属性指定资源选择器?

c# - 升级到 ASP.NET MVC 2 - formCollection.ToValueProvider()

html - 如何创建一个 HTML 按钮,它就像指向同一页面上的项目的链接?

JQuery 滚动按钮不适用于某些浏览器和移动设备

css - IE 是否正确打印 [table] 页眉和页脚(css 设置)?

c# - 自定义 DataAnnotation IsValid 未调用

c# - 将参数传递给重写的 OnEndPage 方法

html - HTML 属性文本中的字符串插值 (Swift 4)

html - SASS:检查元素类型内部的元素类型

html - 我的网站在 FireFox 和 Google Chrome 中看起来一样,但在 IE 中不一样