2017-10-26 1 views
-1

Ich habe zwei Eingabefelder Benutzername und Passwort. Ich kann die Eingänge nicht mit Selen lokalisieren und eingeben. Der Klick auf die Anmeldeschaltfläche schlägt ebenfalls fehl.Selen.Kann Benutzername und Passwort für eine Website nicht eingeben

finden Sie die HTML

<div id="loginTable"> 
<form accept-charset="UTF-8" name="loginForm" method="POST" action="/cgi-bin/login"> 
<table> 
<tbody> 
<tr> 
    <td>User name:</td><td colspan="2"><input name="LOGIN"></td></tr><tr> 
    <td>Password:</td><td colspan="2"><input name="PWD" type="password"></td></tr><tr> 
<td colspan="2"><button type="submit">Login</button></td></tr></tbody></table></form></div> 

i unter Codezeilen verwendet haben,

driver.findElement (By.xpath ("// [@ id = \" loginTable \ "]/form/Tabelle/tr [1]/td [2]/Eingabe ")). sendKeys (" Test "); driver.findElement (By.name ("LOGIN")). SendKeys ("test");

WebElement userEntry = wait.until (ExpectedConditions.visibilityOfElementLocated (By.name ("LOGIN"))); userEntry.sendKeys ("Test");

Keines von ihnen funktioniert.

Login-Taste funktioniert auch nicht. Bitte helfen Sie mir.

+0

Es gibt keine Eingabe-Tag in den HTML-Code, den Sie eingefügt haben. Ist das der richtige Code? –

Antwort

0

Das Problem ist Ihr Locator. Du benötigst etwas, um den Typ des Elements zu identifizieren, nach dem du am Anfang suchst (zB "// div [@id ...." oder "// * [@ id ....", wenn du es als a Wildcard) auch immer Sie Ihre Locator vereinfachen können:

//input[@name='LOGIN'] 

Verbindung Locators wie die, die Sie versucht haben, kann die Verwendung sehr spröde sein, da es mehrere Elemente aus dem Code sind, die möglicherweise ändern könnte.

+0

Vielen Dank Smith. Kannst du bitte den vollen Befehl teilen? Ich habe es mit // input versucht [@ name = 'LOGIN']. aber es funktioniert nicht. Ich bin ein Anfänger in Selinium. Bitte teilen Sie mir die volle Befehlszeile. Danke. – Naveen

Verwandte Themen