How to click a link whose href has a certain substring in Selenium?

0
0

The following is a bunch of links <a elements. ONLY one of them has a substring “long” as a value for the attribute href

<a class="c1" href= "very_lpng string" > name1 </a>
<a class="g2" href= "verylong string" > name2 </a> // The one that I need
<a class="g4" href= "very ling string" > name3 </a>
<a class="g5g" href= "very ng string" > name4 </a>
...................

I need to click the link whose href has substring “long” in it. How can I do this?

PS: driver.findElement(By.partialLinkText("long")).click(); // b/c it chooses by the name

  • You must to post comments
0
0

I need to click the link who’s href has substring “long” in it. How can I do this?

With the beauty of CSS selectors.

your statement would be…

driver.findElement(By.cssSelector("a[href*='long']")).click();

This means, in english,

Find me any ‘a’ elements, that have the href attribute, and that attribute contains ‘long’

You can find a useful article about formulating your own selectors for automation effectively, as well as a list of all the other equality operators. contains, starts with, etc… You can find that at: http://ddavison.io/css/2014/02/18/effective-css-selectors.html

  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.
Name*
E-mail*
Website