Ero in difficoltà con una finestra di dialogo popup in un sito Web che sto automatizzando, per qualche motivo non farebbe clic su un pulsante nella finestra di dialogo ma interagire bene con tutto il resto. Stava anche identificando il pulsante senza problemi e potevo vedere quando lo guardavo correre che sembrava premere il pulsante mentre il colore cambiava, quindi ero un po 'bloccato.Web selenio click vs action.click qual è la differenza?
Il mio codice sembrava in origine abbastanza evidente: -
WebElement targetElement = waitforElement(threadSesh);
targetElement.click();
Ma quando ho cambiato il seguente tutto sembrava funzionare assolutamente bene!
WebElement targetElement = waitforElement(threadSesh);
Actions action = new Actions(threadSesh.driver);
action.click(targetElement);
action.perform();
Qualcuno può dirmi perché un metodo non funziona mentre l'altro funziona correttamente? Inoltre, che sia d'aiuto o meno, il sito è stato creato usando twitter bootstrap se questo fa la differenza, ma il pulsante stesso era piuttosto semplice, in questo modo.
<div class="modal hide fade in" style="width: 481px; margin-left: -241px; padding: 15px; display: block;" role="dialog" data-backdrop="static" data-keyboard="false" aria-hidden="false">
...
<div class="modal-footer">
<a id="save-EditDetails" class="btn btn-small btn-info" type="button" style="margin-right: 7px; padding-left: 15px; padding-right: 15px;" data-bind="click: ok" href="#">Save</a>
</div>
</div>
Cheers controllerò quei link. I clic sembrano funzionare, i pulsanti sfarfallano come se si fosse verificata un'azione di clic, ma non si registra nulla (Selenium pensa addirittura che sia stato fatto clic su OK e passa al passaggio successivo, che quindi non riesce) quindi suppongo di poter rimanere con l'azione .clic. Grazie :) – MorkPork
Sto scoprendo che posso utilizzare WebElement.click(), ma non Actions.click() su un SVG incorporato. Esiste un oggetto WebElement analogico a Actions.dragAndDrop()? o Actions.release()? – InfernalRapture