0

次のスクリプトをselenium IDEで正常に実行できますが、webdriverは最初の要素を見つけることができます。私は、localhostでHP WebTours Appを使用しています。その簡単なスクリプト。最初は私はおそらくスクリプトが速く実行されると思ったが、暗黙的または明示的な待ち時間を置いても問題は解決しなかった。ELEMENTはwebdriverでは見つかりませんが、IDEで動作します

public void testLoginWtour() throws Exception { 
WebDriverWait wait = new WebDriverWait(driver,5); //this is explicit wait 
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.name("username")))); 

     driver.findElement(By.name("username")).sendKeys("jojo"); 
     driver.findElement(By.name("password")).clear(); 
     driver.findElement(By.name("password")).sendKeys("bean"); 
     driver.findElement(By.name("login")).click(); 
} 
+0

として取り込む確認しましたでしょうか? ID、名前、Css、または他の識別子を使用していることを意味しています。コードで同じ識別子を使用してください。 –

答えて

0

それはここで"userName"代わりの"username"

する必要がありますあなたは明示的な待機を必要としないHTML

<input type="text" name="userName" size="10"> 

です。ちょうど"userName"に変更する

driver.findElement(By.name("userName")).sendKeys("jojo"); 

以下はIDEからの画像です。それはあなたがIDEがアイテムを見つけどのように「userNameに」

enter image description here

+0

これは、IDE自体がどのように見つけたかを示しています - name = username – Tanvir

+0

本当ですか?私はIDEを使用して同じものを記録したところ、 "userName"としてのみ表示されます。私はIDEのスクリーンショットを含む答えを編集しました。 – shank087

+0

yup、u r right、どうして私はそれをスキップしましたか?しかし、その問題は要素名に限られていないことがわかりました。どうもありがとう。 – Tanvir

関連する問題