2016-08-23 132 views
1

我嘗試這個xpath,但我不知道如何繼續? 我在彈出菜單中2個對象,我想選擇頁面中的第一個找不到xpath使用硒的元素

的HTML是:

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

的Java代碼:

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

的代碼執行後我得到以下異常:

線程「main」中的異常org.openqa.selenium.NoSuchElementException:no such el ement:無法找到元素:{「method」:「xpath」,「selector」:「//輸入[@ class ='sprite form-enter'並輸入/ @ name ='wobi']」}

我的代碼有什麼問題?

+0

你的意思是你有相同的類'精靈外形enter'和名稱'wobi'二元? –

+0

您的XPath錯誤更好嘗試並檢查它是否可以在Firebug/Firepath中使用 –

回答

1

其實你正在嘗試與錯誤xpath,正確xpath是: -

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

但我會建議你,試試你唱By.cssSelector()這裏,因爲它會比xpath如下快得多: -

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();