J'utilise un WebBrowser System.Window.Controls (WPF) qui génère quelques anomolies ici et là.Utilisation du type dynamique
Normalement, si je veux avoir accès au document WebBrowser dans Winforms et cliquez sur un élément que je voudrais utiliser
HtmlDocument document = webNav.webBrowser1.Document;
document.GetElementById("id_of_element").InvokeMember("Click");
Cependant, il jette WPF erreur Cannot implicitly convert type 'object' to 'System.Windows.Forms.HtmlDocument'. An explicit conversion exists (are you missing a cast?)
.
Je peux contourner ce problème en utilisant
dynamic document = webNav.webBrowser1.Document;
document.GetElementById("id_of_element").InvokeMember("Click");
Y at-il une meilleure méthode/préféré ou est-ce une utilisation acceptable du type dynamique? (Y at-il des exemples d'utilisation acceptable de type dynamique?)
Il résout l'erreur initiale pour moi. Mais plus tard quand j'utilise 'string htmlText = document.documentElement.InnerHtml.ToString();' il renvoie maintenant l'erreur ''System.Windows.Forms.HtmlDocument' 'ne contient pas de définition pour' documentElement 'et pas de méthode d'extension' documentElement ' acceptant un premier argument de type 'System.Windows.Forms.HtmlDocument' peut être trouvé (manque-t-il une directive using ou une référence d'assembly?) ' – user3357963
C'est parce que cette propriété de' HtmlDocument' n'existe pas. Veuillez consulter la documentation de 'HtmlDocument' pour obtenir la liste des propriétés et méthodes qui existent: http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx. Vous voulez probablement 'document.Body.InnerHtml' –