Selenium Lesson 12 – Handling webelements

- Advertisement -

Lesson 12 Handling WebElements

In this lesson we will look at how we will selenium webdriver perform operations on different webelements such as links, buttons, textbox, dropdowns etc. often we do not get consolidated list of operations over webelements, This post will help you in it.

we are going to take a look at following webelements.

  • Link
  • Button
  • TextBox/Input
  • ComboBox
  • TextArea
  • Radiobutton
  • Checkbox
  • iFrame

 

Link : There two operations can be performed on Links

  • Click on Link
  • Get Linktext

following code will help you perform these two operations.

Click on Link :  we will use normal click operation by sending the link xpath. you can use any object identification.

<span class="pln">driver</span><span class="pun">.</span><span class="typ" style="color: #2b91af;">FindElement</span><span class="pun">(</span><span class="typ" style="color: #2b91af;">By</span><span class="pun">.</span><span class="typ" style="color: #2b91af;">XPath</span><span class="pun">(</span><span class="str" style="color: #800000;">"Link Xpath"</span><span class="pun">)).</span><span class="typ" style="color: #2b91af;">Click</span><span class="pun">();</span>

Get Link Text :  we will use list to get the link text

<span class="kwd" style="color: #00008b;">public </span><span class="kwd" style="color: #00008b;">class </span><span class="typ" style="color: #2b91af;">Seleniumwebdriver
</span><span class="pun" style="color: #000000;">{
</span><span class="kwd" style="color: #00008b;">  public </span><span class="kwd" style="color: #00008b;">static </span><span class="kwd" style="color: #00008b;">void</span><span class="pln" style="color: #000000;"> main</span><span class="pun" style="color: #000000;">(</span><span class="typ" style="color: #2b91af;">String</span><span class="pun" style="color: #000000;">[]</span><span class="pln" style="color: #000000;"> args</span><span class="pun" style="color: #000000;">)
</span><span class="pun" style="color: #000000;">  {
</span><span class="typ" style="color: #2b91af;">        WebDriver</span><span class="pln" style="color: #000000;"> driver </span><span class="pun" style="color: #000000;">=</span><span class="kwd" style="color: #00008b;">new </span><span class="typ" style="color: #2b91af;">FirefoxDriver</span><span class="pun"><span style="color: #000000;">();</span><span style="color: #808080;"> // initiate selenium webdriver</span></span><span class="pln" style="color: #000000;">
        driver</span><span class="pun" style="color: #000000;">.</span><span class="pln" style="color: #000000;">get</span><span class="pun" style="color: #000000;">(</span><span class="str" style="color: #800000;">"http://www.google.com"</span><span class="pun" style="color: #000000;">); // got to google.com
</span><span class="typ" style="color: #2b91af;">        List</span><span class="pun" style="color: #000000;"><</span><span class="typ" style="color: #2b91af;">WebElement</span><span class="pun" style="color: #000000;">></span><span class="pln" style="color: #000000;"> elements </span><span class="pun" style="color: #000000;">=</span><span class="pln" style="color: #000000;"> driver</span><span class="pun" style="color: #000000;">.</span><span class="pln" style="color: #000000;">findElements</span><span class="pun" style="color: #000000;">(</span><span class="typ" style="color: #2b91af;">By</span><span class="pun" style="color: #000000;">.</span><span class="pln" style="color: #000000;">tagName</span><span class="pun" style="color: #000000;">(</span><span class="str" style="color: #800000;">"a"</span><span class="pun" style="color: #000000;">)); // store elements, give link xpath
</span><span class="kwd" style="color: #00008b;">        for</span><span class="pun" style="color: #000000;">(</span><span class="typ" style="color: #2b91af;">WebElement</span><span class="pln" style="color: #000000;"> element </span><span class="pun" style="color: #000000;">:</span><span class="pln" style="color: #000000;"> elements</span><span class="pun" style="color: #000000;">)  // print elements
</span><span class="pun" style="color: #000000;">            {
</span><span class="typ" style="color: #2b91af;">              System</span><span class="pun" style="color: #000000;">.</span><span class="pln" style="color: #000000;">out</span><span class="pun" style="color: #000000;">.</span><span class="pln" style="color: #000000;">println</span><span class="pun" style="color: #000000;">(</span><span class="pln" style="color: #000000;">element</span><span class="pun" style="color: #000000;">.</span><span class="pln" style="color: #000000;">getText</span><span class="pun" style="color: #000000;">());
</span><span class="pun" style="color: #000000;">            }
</span><span class="pun" style="color: #000000;">  }
</span><span class="pun" style="color: #000000;">}</span>

 

Button: 

By ID:

<span class="typ" style="color: #2b91af;"> WebDriver</span><span class="pln"> driver </span><span class="pun">=</span><span class="kwd" style="color: #00008b;">new </span><span class="typ" style="color: #2b91af;">FirefoxDriver</span><span class="pun">();<span style="color: #808080;"> // initiate selenium webdriver
</span></span> driver.findElement(webdriver.By.id('gbqfb')).click();

By Xpath:

<span class="typ" style="color: #2b91af;"> WebDriver</span><span class="pln"> driver </span><span class="pun">=</span><span class="kwd" style="color: #00008b;">new </span><span class="typ" style="color: #2b91af;">FirefoxDriver</span><span class="pun">();<span style="color: #808080;"> // initiate selenium webdriver</span></span>
 driver.FindElement(By.XPath("Link Xpath")).Click();

Using  JavaScript :

- Advertisement -

JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("document.getElementById('<buttonID>').click();");

Get button Caption

WebDriver driver =new FirefoxDriver(); // initiate selenium webdriver
driver.findElement(By.XPath("//input[@name='submit']")).getAttribute("value");

 

TextBox/Input / TextArea::

Enter Value :

<span class="typ" style="color: #2b91af;"> WebDriver</span><span class="pln"> driver </span><span class="pun">=</span><span class="kwd" style="color: #00008b;">new </span><span class="typ" style="color: #2b91af;">FirefoxDriver</span><span class="pun">();<span style="color: #808080;"> // initiate selenium webdriver</span></span>
 driver.FindElement(By.XPath("Link Xpath")).Sendkeys("1000");

Clear value in Textbox:

<span class="typ" style="color: #2b91af;"> WebDriver</span><span class="pln"> driver </span><span class="pun">=</span><span class="kwd" style="color: #00008b;">new </span><span class="typ" style="color: #2b91af;">FirefoxDriver</span><span class="pun">();<span style="color: #808080;"> // initiate selenium webdriver</span></span>
 driver.FindElement(By.XPath("Link Xpath")).clear();

ID, name will be used in same manner.

 

DropDown/ Pull down:

WebElement dropDownListBox = driver.findElement(By.id("<DropdownID>"));
Select clickThis = new Select(dropDownListBox);
clickThis.selectByVisibleText("<Item in dropdownlist>");

 

Radio button /Checkbox:

Select Radio button:

 driver.FindElement(By.XPath("Link Xpath")).Click();

Find if the radio button is selected or not:

boolean isselected = driver.findElement(By.xpath("< xpath of option which you find whether is selected or not ")).isSelected()

 

Iframe:

Switch to iframe:

<span class="pln">driver</span><span class="pun">.</span><span class="pln">switchTo</span><span class="pun">().</span><span class="pln">frame</span><span class="pun">(</span><span class="pln">driver</span><span class="pun">.</span><span class="pln">findElement</span><span class="pun">(</span><span class="typ" style="color: #2b91af;">By</span><span class="pun">.</span><span class="pln">id</span><span class="pun">(</span><span class="str" style="color: #800000;">"frameId"</span><span class="pun">)));</span><span class="com" style="color: #808080;">//do your stuff</span><span class="pln">
driver</span><span class="pun">.</span><span class="pln">switchTo</span><span class="pun">().</span><span class="pln">defaultContent</span><span class="pun">();</span>

Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. AcceptRead More