Für ein meine Tests, ich brauche einen Bootstrap-Schaltknopf zu drücken, hat es die folgenden html:Wie man einen Bootstrapschalter mit Selenium Java Webdriver umstellt?
<div class="bootstrap-switch-container" style="width: 93px; margin-left: -31px;">
<span class="bootstrap-switch-handle-on bootstrap-switch-primary" style="width: 31px;">ON</span>
<span class="bootstrap-switch-label" style="width: 31px;">11111 </span>
<span class="bootstrap-switch-handle-off bootstrap-switch-default" style="width: 31px;">OFF</span>
<input name="form:taskDone" id="input_form:taskDone" type="checkbox">
</div>
Ich versuchte
By TASK_DONE_SWITCH_LOCATOR = By.id("input_form:taskDone");
taskDoneSwitch = wait.until(ExpectedConditions.elementToBeClickable(TASK_DONE_SWITCH_LOCATOR));
taskDoneSwitch.click();
Dann mit mir die folgenden Ausnahme erhalten:
Timed out after 5 seconds
Build info: version: '2.8.0', revision: '14056', time: '2011-10-06 15:53:48'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_131'
Driver info: driver.version: unknown
org.openqa.selenium.TimeoutException
at org.openqa.selenium.support.ui.FluentWait.timeoutException(FluentWait.java:220)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:188)
at hu.dual.webapp.customerservice.note.AbstractNoteTest.refreshEditPageTaskElements(AbstractNoteTest.java:161)
at hu.dual.webapp.customerservice.note.EditNoteTest.setTaskToDone(EditNoteTest.java:76)
Die Stacktrace Punkte auf dieser Linie:
taskDoneSwitch = wait.until(ExpectedConditions.elementToBeClickable(TASK_DONE_SWITCH_LOCATOR));
Und dann klickt es nicht. Wie kann ich darauf klicken? Ich habe versucht, die anderen Felder und die ExpectedConditions.visibilityOfElementLocated zu verwenden, aber ich konnte immer noch nicht darauf klicken.
Dies wirft keine Ausnahme, aber nicht auf die Knopf entweder! Danke für ihre Aufmerksamkeit! – brightpants
@brightpants Vielleicht müssen Sie auf ein anderes Element klicken? wie 'By.className (" bootstrap-switch-primary ");' oder 'By.className (" bootstrap-switch-default ");' – Guy
Ich habe beide versucht, aber die Nachrichten waren: unbekannter Fehler: Element ... kann nicht an Punkt geklickt werden (218, 686). Anderes Element würde den Klick erhalten: