2016-07-12 8 views
1

Ich verwende Selen WebDriver (Chrome & Firefox) mit Java.Selen WebDriver Java - Schaltfläche Erstellen und schieben Sie es

Nachdem alle Arten von Aktionen zu machen, stieß ich auf eine regelmäßige Quelle Code wie folgt:

<input type="button" value="yoyo" class="btn" onClick="SubmitForm(this, 'XYZ','_blank')" > 

und ich brauche den Knopf zu drücken .. aber bevor Sie die Taste (regelmäßig) drücken, muss ich ändern die "XYZ" bis "ABC". Gibt es eine Möglichkeit, das zu tun?

Oder vielleicht eine neue Schaltfläche oder eine Form erstellen und drücken Sie dann?

Oder sogar Javascript irgendwie verwenden .. alles wird tun.

Ich konnte keine Informationen finden, wie dies zu tun ist, werde ich für Ihre Hilfe dankbar sein.

+0

Normalerweise würde man Selenium verwenden, um mit einer Webseite zu interagieren, wie sie vom Server dargestellt wird. Fragen Sie, wie man den Inhalt der Seite manipuliert, während Selenium verwendet wird, damit Selenium dann auf der modifizierten Seite operieren kann? –

+0

Yep .. Wie ich bereits erwähnt habe, muss ich einen Knopf drücken, wenn einer der Werte unterschiedlich ist. Ich weiß, das ist nicht das Ziel des Tools, aber wenn es das kann, wird es mir sehr helfen. –

Antwort

1

Sie können es dann während der Laufzeit Automatisierung ändern click mit JavascriptExecutor wie folgt: -

WebElement el = driver.findElement(By.className("btn")) 

((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('onClick', arguments[1]);arguments[0].click();", el, "SubmitForm(this, 'ABC','_blank')"); 

Hinweis: - Dies wird nicht als dauerhaft Lösung bewirken. Dieser Effekt funktioniert auf der Seite, bis die Seite nicht aktualisiert wird.

Ich hoffe, es wird funktionieren .. :)

+0

SIE ROCKEN. Vielen Dank. funktioniert gut. –

+0

@SaharMilis Sie willkommen..Glaube zu hepl Sie .. :) –

1

Sie wollen die JavascriptExecutor verwenden, wie hier beschrieben: https://stackoverflow.com/a/8476765/62462

WebDriver driver; // Assigned elsewhere 
JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("document.getElementById('//id of element').setAttribute('onClick', 'SubmitForm(this, \'ABC\',\'_blank\')')"); 

Möglicherweise müssen Sie das Eingangselement über XPath finden, wenn es nicht eine ID hat.

+0

danke. funktioniert gut. –