2014-12-05 2 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», но это не позволяет найти элемент. Я пробовал использовать имя класса, но он также потерпел неудачу. Наконец, я использовал xpath для работы.Найти ссылку в selenium 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

+0

можете ли вы поделиться URL-адресом сайта, в котором вы пытаетесь найти ссылку? –

+0

Да, это сработало с xpath. Возможно, вы проверите выше html-код и предложите мне. – Gurunathan

ответ

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') 
Смежные вопросы