访问IE8中的页面内容?
我从未编写过任何网络浏览器插件。我需要在 IE8 中查找特定 HTML 元素的屏幕或窗口坐标。它是特定页面上的编辑框。可以通过IE8插件实现吗?任何样品将不胜感激。
感谢您花时间
[编辑]我到目前为止发现的内容:
我可以实现BHO并访问页面的HTML内容,我可以找到所需的编辑框。但我还是不知道如何获取它的客户端窗口坐标
I've never written any web-browser plugins. I need to find screen or windows coordinates of particular HTML element in IE8. It's an edit box on particular page. Is it possible to do by IE8 plugin? any samples would be highly appreciated.
thanks for your time
[EDIT] what I found so far:
I can implement BHO and access HTML content of the page, I can find required edit box. But I still don't know how to get its client window coordinates
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一旦有了编辑框的 IHTMLElement 接口,IHTMLElement2 接口的 QueryInterface 然后调用 getBoundingClientRect 方法 获取坐标。 IHTMLElement2 接口 这也可能有用。
once you have the IHTMLElement interface of the edit box, QueryInterface for the IHTMLElement2 interface and then call the getBoundingClientRect Method to get the coordinates. There are other methods on the IHTMLElement2 interface that may also be of use.
除了 @Maurizio
getBoundingClientRect
方法建议的之外,我还需要使用IDisplayServices
将这些坐标转换为客户端坐标(处理浏览器缩放),然后通过获取窗口句柄IOleWindow
(从IHTMLDocument2
对象检索)并通过ClientToScreen
将客户端坐标转换为屏幕坐标in addition to suggested by @Maurizio
getBoundingClientRect
method, I need to transform these coordinates to client coordinates usingIDisplayServices
(handles browser zooming), then take a window handle byIOleWindow
(retrieved fromIHTMLDocument2
object) and transform client coordinates to screen coordinates byClientToScreen