2015-10-18 91 views
1

我想知道一种在Windows窗体的浏览器中删除网站元素的方法。我有这样的代码:如何从Windows窗体浏览器控件中删除元素

namespace Browser 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      webBrowser1.Document.GetElementById("ads").Style = "display:none"; 
      webBrowser1.Document.GetElementById("navigation").Style = "display:none"; 
      webBrowser1.Document.GetElementById("donate").Style = "display:none"; 
      webBrowser1.Document.GetElementById("social_bookmarking_buttons").Style = "display:none"; 
     } 
    } 
} 

正如你可能会注意到,我只是隐藏的元素,我想删除他们。谢谢你的时间。

回答

2

这适用于我删除元素。

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
    webBrowser1.Document.GetElementById("ads").OuterHtml = ""; 
    webBrowser1.Document.GetElementById("navigation").OuterHtml = ""; 
    webBrowser1.Document.GetElementById("donate").OuterHtml = ""; 
    webBrowser1.Document.GetElementById("social_bookmarking_buttons").OuterHtml = ""; 
} 
+0

谢谢,这是工作。但我有一个问题,我正在处理的这个网站有一个通知,只有在打开网站后5秒内出现。如果我在文档完成时将其删除,则不会删除该通知。你能帮助这个吗? –

+0

如果我是你,我会使用一个全局'System.Windows.Forms.Timer'对象来通知5秒钟已过去。我将在'DocumentCompleted'中开始时间,并检查通知是否未被删除,然后删除'Timer.Tick'事件处理程序中的元素。 – jhmt

+0

谢谢。我已经解决了这个问题。你能帮助我解决这个问题吗?:http://stackoverflow.com/questions/33199399/changing-the-position-of-html-elements-in-windows-forms-webrbrowser。 –

相关问题