Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in DevOps and Agile by (19.7k points)

I am trying to find an element with Attribute. Well, I can find elements with Id, tagName, Xpath and all other predefined methods in Selenium. But, I am trying to write a method that specifically returns WebElement, given Attribute name and value as input.

List<WebElement> elements = webDriver.findElements(By.tagName("Attribute Name"));

for(WebElement element : elements){

    if(element.getText().equals("Value of Particular Attribute")){

        return element;

    }

    else{

        return null;

    }

}

Assuming XPath is not an option, is there any other better ways to do this?

1 Answer

0 votes
by (62.9k points)

You can easily get this task accomplished with CSS.

The formula is:

 element[attribute='attribute-value']

So if you have,

<a href="mysite.com"></a>

You can find it using:

By.cssSelector("a[href='mysite.com']");

this works using any attribute possible.

Check out the below link which tells how to formulate effective CSS selectors and matching their attributes: http://ddavison.io/css/2014/02/18/effective-css-selectors.html

I hope it helps!

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...