简体   繁体   中英

Getting Error while identifying an element in Selenium WebDriver

在此处输入图片说明

I have to select the above highlighted link New V1 Project but I am not able to identify the element.

I've tried using linktext function but it is giving error... can anybody help?

Hierachy is something like:-

 <tbody> <tr> <td width="40" align="center"> <td width="5"> <td align="center" noWrap="" style="border-bottom-color: black; border-bottom-width: 1px; border-bottom-style: solid;" bgColor="#cccccc"> <a class="navSelected" onmouseover="window.status=''; return true" onmouseout="window.status=''; return true" href="index.cfm?fuseaction=project.view&version=1"> <td width="5"> <td width="5"> <td align="center" noWrap="" style="border-bottom-color: black; border-bottom-width: 1px; border-bottom-style: solid;" bgColor="#cccccc"> <a class="nav" onmouseover="window.status=''; return true" onmouseout="window.status=''; return true" href="index.cfm?fuseaction=project.create_form&version=1"> <td width="5"> <td width="5"> <td align="center" noWrap="" style="border-bottom-color: black; border-bottom-width: 1px; border-bottom-style: solid;" bgColor="#cccccc"> <a class="nav" onmouseover="window.status=''; return true" onmouseout="window.status=''; return true" href="index.cfm?fuseaction=project.create_form&version=2"> </tr> </tbody> 

please see the highlighted HTML code in image... I am not sure how this Text element is linked with a tag

My Code that I've used to identify element is:

WebElement v1Link = driver.findElement(By.linktext("New V1 Project"));
WebElement v1Link = driver.findElement(By.xpath("//tr/td[3]/a[@text()= 'New v1 Project']"));

but none of the above 2 methods are working... please somebody help.

You can find the link by the following xpath:

//td/a[normalize-space(text()) = 'New V1 Project']

FYI, your version of xpath was almost correct:

  • no need to put @ before the text()
  • the text is New V1 Project , not New v1 Project
  • you need to use normalize-space()

Hope that helps.

尝试使用cssselector-

 WebElement v1Link = driver.findElement(By.cssSelector("a.nav[href='index.cfm?fuseaction=project.create_form&version=2']"));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM