2016-08-09 43 views
-2

Ich möchte, dass mein Webtreiber eine Schaltfläche namens Erlaube von einer Seite, die ich versuche zu automatisieren. Hier ist die div:Selenium Web Treiberschaltfläche mit Java

<td> 
    <button id="itbtnPagar"onclick="javascript:master_pagar_giro(320535,&quot;67085703b3fa5ef2aab2d1596b364441e021cd79&quot;);"class="botones" type="button"> Allow </button> 
</td> 

Hier wird der pojo Auszug:

if (driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).isSelected()) 
{ 
    driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).click(); 
    Thread.sleep(4000); 

    if (driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).isSelected()) 
    { 
     driver.findElement(By.id("itbtnPagar")).click(); 
     driver.findElement(By.className("botones")).click(); 
     Thread.sleep(5000); 
    } 
    if (driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).isSelected()) 
    { 
     driver.quit(); 
     return; 
    } 
} 

Wie kann ich Selen ermöglichen auf diese Schaltfläche klicken, um zulassen, um ein Ereignis zu erzeugen. Bitte helfen.

+1

1- bitte formatieren Sie Ihren Code in lesbares Format 2- Was ist das Problem mit dem, was Sie haben? – Guy

+0

Die ID der Schaltfläche ist einzigartig? Die Ausführung tritt mit diesem Klick ein? – lauda

+0

@Guy Ich hoffe, dass Sie jetzt den Code klar lesen können. Das Problem, das ich habe, ist, welches Element ich aus dem "" -Tag auswählen und es erfolgreich mit den Objekten in dem Pojo-Auszug oben übereinstimmen sollte. Ich habe versucht, ** ID ** ohne Erfolg zu verwenden. – bademba

Antwort

0

warum können Sie nicht einfach auf es durch ID klicken?

driver.findElement(By.id("itbtnPagar")).click(); 

Sie können auch Onclick Wert roden und rufen Sie es mit js ExecuteScript

zu initialisieren js müssen Sie zuerst das Treiber init und danach:

JavascriptExecutor js = (JavascriptExecutor) driver; 

string scriptToExecute = driver.findElement(By.id("itbtnPagar").getAttribute("onclick"); 
js.executeScript(scriptToExecute); 
+0

Ich mag Ihren Ansatz zu diesem Thema, das ich erlebe. Nur eine Klarstellung von dir. Wie wurde 'js' dort benutzt? – bademba

+0

Ich füge es dem Code hinzu. –

+0

Ich habe diesen Ansatz versucht, aber immer noch keinen Erfolg. Ich werde eine Modifikation für jedes positive Ergebnis machen. FYI. kein Fehler wird geworfen – bademba

1

Versuchen

driver.findElement(By.xpath("//button[contains(@id, 'ibtnPagar') and contains(@type, 'button')]))".click(); 
+0

Ich werde es ausprobieren, obwohl ich an diesem Projekt geschlossen hatte. Ich schätze immer noch Ihre Eingabe – bademba