Wie kann der Cursor beim Laden der Seite auf ein bestimmtes Eingabefeld gesetzt werden?
Die Schaltfläche lautet "Neuen Termin hinzufügen", das Skript lautet:
<input type="button" onclick="open_win()" value="add new appointment"/>
WebElement ek = driver.findElement(By.xpath("//input[@value='add new appointment']"));
jse.executeScript("arguments[0].click();", ek);
Es öffnet sich ein Pop-up-Fenster. Jetzt muss ich den Fokus auf das Fenster legen.
Ajax wird verwendet, um Informationen aus diesem Pop-up abzurufen.
Ich habe alles versucht, um mich auf das neue Pop-up zu konzentrieren. Die Eingabe-Txt-Felder sind ausgeblendet, Der Code, den ich versucht habe, ist:
jse.executeScript("window.focus();");
driver.switchTo().defaultContent();
driver.switchTo().activeElement().findElement(By.xpath("//*[@id='barge:bargeId:txtInput']"));
driver.switchTo().alert();
Ich dachte, ich könnte mich mit dem folgenden Code auf das Textfeld konzentrieren:
jse.executeScript("document.getElementById('barge:bargeId:txtInput')[0].setAttribute('type', 'text');");
driver.findElement(By.xpath("//*[@id='barge:bargeId:txtInput']")).sendKeys("suxs");
Auch das hat nicht funktioniert.
Sogar jse.executeScript("document.title")
hat nicht funktioniert.
der Code für das Textfeld
<span id="barge:bargeId:input">
<input id="barge:bargeId:txtInput" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all inputbox doubleInputbox ui-state-hover" type="text" tabindex="" maxlength="17" accesskey="" name="barge:bargeId:txtInput" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false"/>
</span>