Selenium WebDriver can't find element by link text

html, java, selenium, selenium-webdriver

Solution

The problem might be in the rest of the html, the part that you didn't post.

With this example (I just closed the open tags):

<a class="item" ng-href="#/catalog/90d9650a36988e5d0136988f03ab000f/category/DATABASE_SERVERS/service/90cefc7a42b3d4df0142b52466810026" href="#/catalog/90d9650a36988e5d0136988f03ab000f/category/DATABASE_SERVERS/service/90cefc7a42b3d4df0142b52466810026">
<div class="col-lg-2 col-sm-3 col-xs-4 item-list-image">
<img ng-src="csa/images/library/Service_Design.png" src="csa/images/library/Service_Design.png">
</div>
<div class="col-lg-8 col-sm-9 col-xs-8">
<div class="col-xs-12">
    <p>
    <strong class="ng-binding">Smoke Sequential</strong>
    </p>
    </div>
</div>
</a>

I was able to find the element without trouble with:

driver.findElement(By.linkText("Smoke Sequential")).click();

If there is more text inside the element, you could try a find by partial link text:

driver.findElement(By.partialLinkText("Sequential")).click();

Problem

I'm trying to select an element that includes an anchor, but the text is buried in a paragraph inside of a div. Here's the HTML I'm working with: ``` <a class="item" ng-href="#/catalog/90d9650a36988e5d0136988f03ab000f/category/DATABASE_SERVERS/service/90cefc7a42b3d4df0142b52466810026" href="#/catalog/90d9650a36988e5d0136988f03ab000f/category/DATABASE_SERVERS/service/90cefc7a42b3d4df0142b52466810026"> <div class="col-lg-2 col-sm-3 col-xs-4 item-list-image"> <img ng-src="csa/images/library/Service_Design.png" src="csa/images/library/Service_Design.png"> </div> <div class="col-lg-8 col-sm-9 col-xs-8"> <div class="col-xs-12"> <p> <strong class="ng-binding">Smoke Sequential</strong> </p> ``` The code I'm using to try to snag it is targeting the "Smoke Sequential" text with: ``` driver.findElement(By.linkText(service)).click(); ``` Where the variable 'service' holds "Smoke Sequential" in it. When I run it, I get the following error: ``` org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Smoke Sequential"} ``` Any help would be greatly appreciated.

Original source