How to Locate Elements in Chrome and IE Browsers for Building Selenium Scripts – Selenium Tutorial #7

This is tutorial #7 in our Selenium Online Training Series. If you want to check all Selenium tutorials in this series please check this page.

In the previous tutorial, we tried to shed light on various types of locators in Selenium and their locating mechanisms to build test scripts. The tutorial was primary consist of the brief introduction of different locator types like ID, Classes, Xpaths, Link texts, CSS Selectors etc. and their identification.

Proceeding ahead with our next tutorial, we would take the opportunity to introduce you with an extension of locating strategies. Thus, in the next tutorial, we would study the mechanism to locate web elements on Google Chrome and Internet Explorer.

As we all are well aware of the fact that there is rapid growth in the internet user base, thus stakeholders and programmers are building web applications which are likely to work on most of the browsers. Thus, imagine a situation where your web application doesn’t support Firefox but works well for Chrome and Internet Explorer. Now how are you going to automate such an application using Selenium? Or to be specific how are you going to locate web elements in Chrome and Internet Explorer. Thus the answer lies ahead in this tutorial.

Locating Web Elements in Google Chrome

Let us begin with understanding the locating strategies in Google Chrome.

Like Firebug in Firefox, Google Chrome has its own developer tool that can be used to identify and locate web elements on the web page. Unlike firebug, a user is not required to download or install any separate plugin; the developer tool comes readily bundled with Google Chrome.

Step #1: The primary step is to launch the Google Chrome’s Developer tool. Press F12 to launch the tool. The user would be able to see something like the below screen.

Take a note that “Element” tab is highlighted in the above screenshot. Thus, element tab is the one which displays all the HTML properties belonging to the current web page. Navigate to the “Element” tab if it is not opened by default on the launch.

You can also launch developer tool by right-clicking anywhere within the web page and by selecting “Inspect element” which is very similar to that of firebug’s inspection.

Step #2: The next step is to locate the desired object within the web page. One way to do the same is to right click on the desired web element and inspect. The HTML property belonging to that web element would be highlighted in the developer tool. Another way is to hover through the HTML properties and the matching web element would be highlighted. Thus, in this way user can locate ids, class, links etc.

Creating a Xpath in Developer Tool

We have already discussed about Xpaths in the last tutorial. We also discussed about its creation strategy. Here we would base our discussion to check the validity of the created XPath in Chrome’s Developer tool.

Step #1: For creating XPath in Developer tool, open the console tab.

Step #2: Type the created Xpath and enclose it in $x(“//input[@id='Email']”)

Step #3: Press the enter key to see all the matching HTML elements with the specified Xpath. In our case, there is only one matching HTML element. Hover on that HTML element and the corresponding web element would be highlighted on the web page.

In this way, all the Xpaths can be created and checked for their validity within the console.

Information related to CSS corresponding to the web element can be found within the Chrome’s Developer tool. Refer the screenshot below:

Locating Web Elements in Internet Explorer

Like Google Chrome, Internet Explorer also has its own Developer Tool that can be used to identify web elements based on their properties within the web page. The user is not required to download or install any separate plugin, the developer tool comes readily bundled with Internet Explorer.

Step #1: The primary step is to launch the IE Developer tool. Press F12 to launch the tool. The user would be able to see something like the below screen.

Take a note that “HTML” tab is highlighted in the above screenshot. Thus, HTML tab is the one which displays all the HTML properties belonging to the current web page. Expand the HTML tab to view the properties of all the web elements belonging to the current web page.

Step #2: The next step is to locate the desired object within the web page. One way to this is to select the HTML element and the matching web element would be highlighted. Thus, in this way user can locate ids, class, links etc. Check out in the below screenshot in which Email Textbox would be highlighted as soon as we select the corresponding HTML property.

Another way to locate the web element is to click on the “Find” button present in the top menu and by clicking on the desired web element within the web page. As a result, the corresponding HTML properties would be highlighted.

Thus, by using the developer tool, a user can find ids, classes, tag names and can create Xpaths to locate web elements.

Conclusion

In this tutorial, we shed light on the basic element locating strategies using Developer’s tool for Google Chrome and Internet Explorer.

Next Tutorial #8: Proceeding ahead with our next tutorial, we would take the pleasure to introduce you to a more advanced tool named as WebDriver. WebDriver is one of the most compelling automation testing tools. So our next tutorial onwards, we would route and base our discussions around WebDriver and all its nitty-gritty.

Hi, Suppose if i want to write the scripts for both firefox and chrome , can i use the same scripts for all browsers? because xpath syntax are different for both firefox and chrome.If not what would be the solution to avoid redundant code for whole application. What are the best locators for more faster?

Is it really required to inspect element in each different browser separately(google chrome, i.e. , firefox) to test Web page in different browsers because e.g I can see the id is same i.e. email (for gmail.com) irrespective of any web browser I open so would it be sufficient if I inspect and locate element only in Firefox and use it for other browsers as well.