簡體   English   中英

如何更改網頁源代碼,包括(html,css,js)geckofx c#

[英]how can i change webpage source including(html,css,js) geckofx c#

我需要在GeckoFX網絡瀏覽器中更改網頁源,包括html,css和js。

這是我的代碼:

   geckoWebBrowser1.Navigate("http://example.com/");
   geckoWebBrowser1.DocumentCompleted += GeckoWebBrowser1_DocumentCompleted;

    private void GeckoWebBrowser1_DocumentCompleted(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e)
    {

        WebClient w = new WebClient();
        string s = (w.DownloadString("http://example.com/"));
        //after do changes on (s)
        geckoWebBrowser1.LoadHtml(s, "http://example.com/");

但是它不能在javascript上運行,有人可以幫我嗎?

問題在於geckoWebBrowser1.LoadHtml還會觸發GeckoWebBrowser1_DocumentCompleted()。 因此,您將不斷循環。

將LoadHtml移至另一個函數,或按如下所示實時更改內容。

另外,您是否正在使用WebClient下載同一頁面? 不需要,源已經可用。

GeckoHtmlElement element = null;
var geckoDomElement = e.Window.Document.DocumentElement;
if (geckoDomElement is GeckoHtmlElement)
{
    element = (GeckoHtmlElement)geckoDomElement;
    element.InnerHtml = element.InnerHtml.Replace("Google", "Göggel");
}

使用以下命令最容易執行Javascript:

using (AutoJSContext context = new AutoJSContext(ActiveBrowser.Window.DomWindow))
{
    var result = context.EvaluateScript("testFunction();");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM