c# - una - Cómo acceder al HTML de un documento en Firefox usando IAccessible
inspeccionar elemento teclado (1)
Puedo obtener un objeto de IAccessible desde una ventana de Firefox usando este código:
Guid guid = new Guid("{618736E0-3C3D-11CF-810C-00AA00389B71}");
object obj = null;
int ret = AccessibleObjectFromWindow(hWnd,
(uint) OBJID.WINDOW, ref guid, ref obj);
Accessibility.IAccessible acc = (Accessibility.IAccessible)obj;
Sin embargo, no estoy seguro de a dónde ir desde aquí. Necesito obtener el HTML completo del documento. Conozco el método IAccessible.get_accValue (), pero no estoy seguro de cómo usarlo en relación con Firefox. Cualquier ayuda sería muy apreciada.
Aparentemente no puedes obtener la fuente HTML completa usando IAccessible. Encontré esto pero no funciona en FF3.5:
IServiceProvider *pServProv = NULL;
pAccessible->QueryInterface(IID_IServiceProvider, (void**)&pServProv);
ISimpleDOMNode *pSimpleDOMNode;
if (pServProv) {
const GUID refguid = {0x0c539790, 0x12e4, 0x11cf, 0xb6, 0x61,
0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8};
HRESULT result = pServProv->QueryService(refguid, IID_ISimpleDOMNode,
(void**)&pSimpleDOMNode);
if (SUCCEEDED(hresult) && pSimpleDOMNode != NULL) {
/* This is a Mozilla node! Use special ISimpleDOMNode methods described in
ISimpleDOMNode.idl. */
}
}
También encontré esto, que tampoco funciona en FF3.5:
HRESULT hr = AccessibleObjectFromWindow(hwnd, OBJID_CLIENT,
IID_IAccessible, (void**)&pAccessible);
if (SUCCEEDED(hr) && pAccessible != NULL) {
HRESULT hr = pAccessible->QueryInterface(
IID_ISimpleDOMNode, (void**)&pSimpleDOMNode);
}
Estoy atascado. :(