2016-08-01 32 views
0

Ist es möglich, ein Element nach Klassennamen zu finden, auf den geklickt werden soll? Es sieht so aus, als nur nach dem folgenden gesucht wird: ID | Name | Titel | alt | WertKlicken Sie auf Element nach Klasse oder ID-Name?

Zum Beispiel, wie können Sie dieses Element erfolgreich identifizieren, klicken Sie auf?

<a class="button medium round signup" href="http://link.com" data-reveal-id="signupModal">sometext</a> 

Auch hier ist eine einfache Seite mit einem Knopf, der eine ID hat. Wie kommt es, dass Folgendes nicht auf die Schaltfläche zugreift?

<button id="myBtn" type="button" onclick="myFunction()">Try it</button> 

Given I am on "http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_button_form" 
When I press "myBtn" 

Dank

Antwort

0

Die Schaltfläche nicht zugegriffen werden kann, weil sie in einem Iframe enthalten ist, müssen Sie zu diesem iframe schalten Sie die Taste zur Verfügung zu stellen.

Sie können Schritte erstellen, um auf ein Element mit einem beliebigen Bezeichner (einschließlich Klasse) zu klicken, oder Sie können einen neuen Schritt implementieren, für den css/xpath-Selektoren erforderlich sind.

Here können Sie ein Beispiel für eine Methode zum Klicken von Selektor finden.

0

Der erste HTML-Code ist nichts anderes als ein HREF. Behat sollte leicht in der Lage sein, es zu identifizieren, indem die Zeile darunter: Da ich folge „sometext“

Wenn die oben nicht funktioniert, können Sie einfach den CSS-Selektor verwenden und das Element klicken:

$locator = '.'; 

$this->getSession()->getPage()->find('css',$locator)->click();