在selenium webdriver中查找链接

时间:2014-12-05 07:09:17

标签: selenium-webdriver

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

我尝试找到链接&#39;添加姓名&#39;通过使用&#39; linktext&#39;和部分链接文字&#39;但它抛出无法定位元素。我尝试使用classname但它也失败了。最后我使用xpath工作。

我的代码:

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

请告诉我是否有任何错误?

2 个答案:

答案 0 :(得分: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();

请分享您的网站网址,以便我查看。

答案 1 :(得分:0)

By.linkText和By.partiallinkText只是寻找 &LT a取代;标签。由于您的链接位于&lt; p&gt;标签,它将无法找到。像你一样,通过xpath查找元素是更好的解决方案!

基于经验和this question,By.className不适用于查找具有多个类的元素。您可以再次使用xpath或By.cssSelector来定位元素,例如:

By.cssSelector('.lnk_primary.show_inline')