2014-12-05 104 views
0
<div class="list_details"> 
<p class="lnk_primary show_inline" rv-text="config.app.message.Label.abc.SmallScreen.58384" rv-on-click="current.eventGoToName">Add name</p> 
</div> 

我試圖通過使用'linktext'和'partiallinktext'找到鏈接「添加名稱」,但它引發無法找到元素。我嘗試使用classname,但它也失敗了。最後我用xpath工作。在硒webdriver找到一個鏈接

我的代碼:

driver.findElement(By.linkText("Add name")).click(); 
driver.findElement(By.partiallinkText("name")).click(); 
driver.findElement(By.className("lnk_primary show_inline")).click(); 

請讓我知道是否我是做任何錯誤?

+0

你的意思是,它使用XPath沒有工作? – Subh 2014-12-05 07:12:30

+0

可以請你分享你正在試圖找到鏈接的網站的網址? – 2014-12-05 07:16:46

+0

是的,它可以用xpath.Can請檢查以上的HTML代碼,並建議我。 – Gurunathan 2014-12-05 09:28:34

回答

0

示例程序使用linktext的找到鏈接:

 FirefoxDriver driver = new FirefoxDriver(); 

    driver.get("https://www.google.co.in/?gfe_rd=cr&ei=2FqBVNuuJOzV8gea24GwDA&gws_rd=ssl#q=google"); 

    driver.findElement(By.linkText("Google")).click(); 

請分享你的網站URL,這樣我可以檢查。

0

By.linkText和By.partiallinkText只查找 <a>標記。由於您的鏈接位於<p>標記中,因此不會找到它。通過xpath查找元素,就像你能夠做到的一樣,是更好的解決方案!

基於斷的經驗和this question,By.className不會爲尋找元素與超過一類的工作。你可以再次使用XPath或By.cssSelector,而不是定位元素,如:

By.cssSelector('.lnk_primary.show_inline')