tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
443
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Topia Topia ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    48
    Hallo ich versuche mich über Watin auf eine Seite anzumelden nur dieser code entspricht genau dessen des Tutorials auf der Watin seite nur es klappt nicht wieso
    Der IE Explorer öffnet sich und navigiert auch zu Seite aber er gibt nicht die Daten ein und drückt den Button wieso?
    Den Verweis zur Dll habe ich auch eingefügt klappt auch alles mit den Methoden etc..
    Die ID´s und byname habe ich auch kontrolliert
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    using System;
    using WatiN.Core;
     
    namespace WatiNGettingStarted
    {
      class WatiNConsoleExample
      {
        [STAThread]
        static void Main(string[] args)
        {
          // Open a new Internet Explorer window and
          // goto the bsp website.
            IE ie = new IE("bsp");
     
          // Find the search text field and type Watin in it.
          ie.TextField(Find.ById("Login_email")).TypeText("bsp");
          ie.TextField(Find.ById("Login_password")).TypeText("bsp");
     
          // Click enter  button.
          ie.Button(Find.ByName("login")).Click();
     
          // Uncomment the following line if you want to close
          // Internet Explorer and the console window immediately.
     
          //ie.Close();
        }
      }
    }
    Geändert von Topia (28.09.08 um 17:49 Uhr)
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Sind die IDs der Element korrekt?
    Wenn du uns die Adresse der Seite verraten könntest, könnten wir besser schauen wo das Problem liegt.
    so oder heißt es für dich: Debuggen, schauen ob die entsprechenden Elemente gefunden wurden,...
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Topia Topia ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    48
    http://www.Schuelervz.net ist nur ein Beispiel will im eigentlichen Sinne nur das mal ausprobieren.
     

  4. #4
    Topia Topia ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    48
    Habe das problem gelöst! Man musste den SicherheitsModus des Internet Explorers ausschalten. Nun habe ich ein anderes Problem wenn ich den code in einer WIndows anwendung einfüge Form dann kommt diese fehlermeldung

    Code :
    1
    
    Fehler  1   "Form" ist ein mehrdeutiger Verweis und kann "WatiN.Core.Form" oder "System.Windows.Forms.Form" sein.   C:\Users\dmad\AppData\Local\Temporary Projects\WindowsFormsApplication1\Form1.cs    13  34  WindowsFormsApplication1
     

  5. #5
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Die Meldung sagt es doch:
    Du nutzt die Klasse Form, die in 2 verschiedenen Namespace vorhanden ist.
    In diesem Falls, musst du den kompletten Namen inkl. Namespace angeben.
    Alternativ kann für den Namespace ein Alias angelegt werden, der dann vor den Klassennamen geschrieben werden muss:
    Code csharp:
    1
    
    using WinForms = System.Windows.Forms;
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  6. #6
    Topia Topia ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    48
    Ich versteh das nciht so ganz kannse vllt ein beispiel angeben
     

  7. #7
    Avatar von FwDonnerbalken
    FwDonnerbalken FwDonnerbalken ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Beiträge
    323
    Vom .NET Framework wird eine Klasse Form bereitgestellt. Diese befindet sich im Namespace System.Windows.Forms, der vollständige Name der Klasse wäre dementsprechend System.Windows.Forms.Form

    Über die Direktive using System.Windows.Forms kann der Klassenname direkt ohne die zusätzliche Angabe des Namespace verwendet werden.

    Wenn du eine Klasse definierst, die ebenfalls den Namen Form hat und du diesen Klassennamen verwendet, weiß der Compiler nicht welche Klasse du meinst. Woher auch?!

    Um dieses Problem zu lösen hast du zwei Möglichkeiten
    1. Wenn du die System.Windows.Forms.Form könntest du diese immer über den kompletten Klassennamen ansprechen, deine Form sprichst du ebenfalls über den vollständigen Namespace deiner Anwendung an, ist natürlich viel Tippaufwand und sieht nicht so schön aus.

    2. Du verwendest Nicos Tipp: Hier verpasst du dem Namespace System.Windows.Forms.Form einen Alias-Namen. Nico wählte hier WinForms. Möchstest du nun die Klasse System.Windows.Forms.Form verwenden, funktioniert das nach der Alias-Definition über WinForms.Form, während du deine eigene Formklasse ohne die Angabe des Namespace ansprechen kannst.

    Achtung: Es muss nicht zwingend deine eigene Klasse Form sein. Möglich ist natürlich auch, dass eine weitere Klasse Form aus einer anderen Assembly oder einem anderen Namespace verwendet wird. Dieser Namespace taucht dann aber bei den using-Direktiven auf
    Geändert von FwDonnerbalken (29.09.08 um 13:47 Uhr)
     
    Gruß,
    Sebastian

    Mein XING Profil

    Hilfreiche Antworten bitte bewerten!

  8. #8
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Wenn der Fehler kommt
    an entsprechender Stelle vor den Klassennamen den Namespace schreiben
    Also
    Code csharp:
    1
    
    System.Windows.Forms.Form frm = new System.Windows.Forms.Form();
    oder für das obige Beispiel mit dem Alias
    Code csharp:
    1
    
    WinForms.Form frm = new WinForms.Form();
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  3. Antworten: 0
    Letzter Beitrag: 06.10.04, 14:03
  4. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29