Saltar al contenido

cefsharp ejecutar javascript

Ya no tienes que buscar más por todo internet ya que estás al lugar necesario, poseemos la respuesta que buscas y sin liarte.

Solución:

Debe esperar a que el navegador se haya cargado lo suficiente antes de ejecutar JavaScript. Es tentador comenzar a intentar acceder al DOM en OnFrameLoadStart, mientras que el V8Context se habrá creado y podrá ejecutar un script que el DOM no habrá terminado de cargar. Si necesita acceder al DOM lo antes posible, suscríbase a DOMContentLoaded.

A continuación se muestran algunos ejemplos de ejecución de JavaScript.

browser.RenderProcessMessageHandler = new RenderProcessMessageHandler();

public class RenderProcessMessageHandler : IRenderProcessMessageHandler

  // Wait for the underlying JavaScript Context to be created. This is only called for the main frame.
  // If the page has no JavaScript, no context will be created.
  void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame)
  
    const string script = "document.addEventListener('DOMContentLoaded', function() alert('DomLoaded'); );";

    frame.ExecuteJavaScriptAsync(script);
  


//Wait for the page to finish loading (all resources will have been loaded, rendering is likely still happening)
browser.LoadingStateChanged += (sender, args) =>

  //Wait for the Page to finish loading
  if (args.IsLoading == false)
  
    browser.ExecuteJavaScriptAsync("alert('All Resources Have Loaded');");
  


//Wait for the MainFrame to finish loading
browser.FrameLoadEnd += (sender, args) =>

  //Wait for the MainFrame to finish loading
  if(args.Frame.IsMain)
  
    args.Frame.ExecuteJavaScriptAsync("alert('MainFrame finished loading');");
  
;

Aquí puedes ver las comentarios y valoraciones de los lectores

Acuérdate de que tienes permiso de agregar una reseña si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *