2017-10-26 14 views
-1

私は2つの入力フィールドのユーザー名とパスワードを持っています。セレンを使用して入力を探して入力することができません。ログインボタンのクリックも失敗します。Selenium.ウェブサイトのユーザー名とパスワードを入力することができません

見つけてください、私はコードの行の下に使用していた

<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> 

HTML、

driver.findElement(By.xpath( "// [ID @ = \" loginTable \ "] /フォーム/ table/tr [1]/td [2]/input "))。sendKeys(" test "); driver.findElement(By.name( "LOGIN"))。sendKeys( "test");

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

誰も働いていません。

ログインボタンも機能しません。 私を助けてください。

+0

貼り付けたHTMLコードに入力タグはありません。それは正しいコードですか? –

答えて

0

問題はあなたのロケータです。あなたが最初に探している要素のタイプを識別するための何かが必要です(例えば "// div [@id ...."または "// * [@ id ....]"潜在的に変更される可能性があなたのコードからより多くの要素があるとして、あなたが使用しようとしてきたような化合物のロケータは、非常に脆いことができ

//input[@name='LOGIN'] 

:ワイルドカード)しかし、あなたはあなたにロケータを簡素化することができます。

+0

おかげでスミス。完全なコマンドを共有していただけますか?私は// input [@ name = 'LOGIN']で試してみました。それは動作していません。私はSeliniumの初心者です。完全なコマンドラインを教えてください。ありがとう。 – Naveen

関連する問題