2016-03-21 6 views
0

versucht, eine Schaltfläche klickenCodierte UI - Gibt es ein HtmlControl, um auf die NG-Klick-Schaltflächenklasse zu klicken?

Ng-click html sample ich einen HtmlDiv versucht haben versucht, den Knopf mit Klasse/Typ zu finden. Ich habe kein Glück. Kann das Steuerelement nicht finden. Hat jemand Erfahrung mit der Suche nach dem ng-Klick? Ich denke, das ist meine einzige Option zu diesem Zeitpunkt. Danke im Voraus. Schriftlich codiert in vb.

Public Sub Logout() Dim-Taste A New Htmlbutton (newbrowser) button.SearchProperties.Add (HtmlButton.PropertyNames.Class "btn btn-default navbar-btn navbar-btn-Text", PropertyExpressionOperator.Contains) End Sub

Nichts wird die Kontrolle finden, die ich ausprobiert habe.

Antwort

0

Um zuerst zu erwähnen, müssen Sie das Steuerelement tatsächlich übereinstimmen. Haben Sie FindMatchingControls (überprüfen Sie, was die Sammlung enthält), DrawHighlight oder TryFind gegen die Schaltfläche?

Ich würde auch empfehlen, den Bereich näher an die möglichen Kandidaten zu setzen, indem Sie eine HtmlDocument und dann eine relevante HtmlDiv verwenden. Verwenden Sie auch IDs auf Ihren Steuerelementen, es hilft erheblich beim Abgleich.

Dann überprüfen Sie die übliche Klick-Methode oder funktioniert nicht. Sonst wie unten sollte gut funktionieren.

Danach manchmal benutze ich diese Hilfsmethode

VB

<System.Runtime.CompilerServices.Extension> _ 
Public Shared Function RunScript(control As HtmlControl, script As String) As Object 
    Dim bw = TryCast(control.TopParent, BrowserWindow) 
    Return bw.ExecuteScript(script, control) 
End Function 

C#

public static object RunScript(this HtmlControl control, string script) 
{ 
    var bw = control.TopParent as BrowserWindow; 
    return bw.ExecuteScript(script, control); 
} 

Jetzt als für das, was Sie für das Skript Wert tatsächlich nutzen gilt JS

"arguments[0].click();" 

Ist das, was ich für das Klicken einiger kniffliger Kontrollen verwende. arguments[0] ist Ihr Steuerelement, das Sie übergeben, also verwenden Sie JS, um Ihren speziellen Click-Handler aufzurufen.

Sie können die return-Anweisung auch zum Zurückziehen von Werten mit JS

verwenden