2016-08-23 8 views
1

私はこのxpathを試していますが、私はどのように続行するのか分かりませんか? iは、ポップアップメニューに2つのオブジェクトを持っていると私は最初の1セレンを使ってxpathで要素を見つけることができません

ページのHTMLを選択しますされます。javaコードがある

</div> 
<input class="sprite form-enter" type="submit" value="" name="wobi"> 
</div> 
<div class="container"> 
<img src="/_media/home/img/icons/pension.png"> 
<div class="login-text-container"> 
<a class="sprite form-enter" href="https://pension.wobi.co.il/login" value="" name="pension" type="submit"></a> 
</div> 
</div> 

:コードの実行後

driver.findElement(By.xpath("//input[@class='sprite form-enter' and input//@name='wobi']")).click(); 
Thread.sleep(2000); 

私は次の例外があります:

スレッド "main" org.openqa.selenium.NoSuchElementExceptionの例外:そのようなel要素:{"method": "xpath"、 "selector": "//入力[@ class = 'スプライトフォーム入力'と入力/ @ name = 'wobi']"}

私のコードで何が間違っていますか?

+0

はあなたが同じクラス 'スプライトフォームenter'と名前' wobi'を持つ2つの要素を持っている意味ですか? –

+0

あなたのXPathが間違っている方がよいでしょうFirebug/Firepathで動作するかどうか試してみてください –

答えて

1

間違ったxpathてみてくださいされて使用してみてください、正しいxpathは次のようになります -

//input[@class='sprite form-enter' and @name='wobi'] 

しかし、私はあなたにお勧めしますそれは以下のようにxpathよりもはるかに高速になるので、ここでBy.cssSelector()を歌う: -

driver.findElement(By.cssSelector("input.sprite.form-enter[name = 'wobi']")).click(); 
0

このセレクタを試してください:あなたは化合物のクラスを持っているよう

//input[@class='sprite form-enter'][@name='wobi'] 
0

は思え、実際CSSSelector

driver.findElement(By.cssSelector(".sprite.form-enter")).click(); 
関連する問題