2014-12-05 78 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')