Common HTML Control Actions

What are some of the things we can do after finding the element we want to act upon? We can:

  • Click on elements

  • Perform mouse actions on elements

  • Check/uncheck radio buttons and checkboxes

  • Invoke events such as OnClick, OnFocus

  • Capture an image snapshot

  • Make selections of a drop down

Here are some examples:

// All controls have a Click/MouseClick. The .Click invokes a click from the DOM, 
// the MouseClick(), moves the mouse to the control and clicks it. 
 
// 
// CLICKING 
// 
Find.ById<HtmlInputButton>("button1").Click(); 
ActiveBrowser.Refresh(); 
Find.ById<HtmlInputButton>("button1").MouseClick(); 
 
// You can capture any element on the page using the .Capture() 
Find.ById<HtmlInputImage>("image1").Capture("myfile"); // Will be stored to the Log.LogLocation 
 
// 
// CHECKING 
// 
// Check a checkbox and invoke the onclick event. 
HtmlInputCheckBox ck = Find.ById<HtmlInputCheckBox>("checkbox1"); 
ck.Check(true, true); 
 
// Query the checked state 
Assert.IsTrue(ck.Checked); 
// You can also simply set the value without invoking the clicked event. 
ck.Checked = false; 
Assert.IsFalse(ck.Checked); 
 
// Get whether a checkbox is enabled or disabled. 
HtmlInputCheckBox cks = Find.ById<HtmlInputCheckBox>("checkbox1"); 
bool disabled = cks.GetValue<bool>("disabled"); 
 
// Disable it 
cks.SetValue<bool>("disabled", true); 
Assert.IsTrue(cks.GetValue<bool>("disabled")); 
 
// Is it visible 
Assert.IsTrue(cks.IsVisible()); 
 
// When the contents of a div element are larger than the declared 
// width or height of element it automatically adds scroll bars. 
// When that happens we can scroll the contents of the div element. 
// The value represents the offset in pixels to scroll the contents. 
HtmlDiv infoDiv = Find.ById<HtmlDiv>("AutoInfo"); 
infoDiv.ScrollTop = 50; 
infoDiv.ScrollLeft = 75; 
 
// Get the color style 
HtmlSpan mySpan = Find.ById<HtmlSpan>("Warning"); 
HtmlStyle styleColor = mySpan.GetStyle("color"); 
string strColor = mySpan.GetStyleValue("color"); 
 
// Getting the computed style will follow the CSS chain and return the 
// style. 
HtmlStyle styleMargin = mySpan.GetComputedStyle("margin"); 
string strMargin = mySpan.GetComputedStyleValue("margin"); 
 
// 
// SELECTING 
// 
HtmlSelect select = Find.ById<HtmlSelect>("select1"); 
Assert.IsTrue(select.SelectedOption.Value.Equals("Option1Text")); 
Assert.IsTrue(select.SelectedOption.Text.Equals("Option1")); 
Assert.IsTrue(select.SelectedIndex.Equals(0)); 
 
select.SelectByIndex(1); 
Assert.IsTrue(select.SelectedOption.Text.Equals("Option2")); 
 
// 
// MULTI-SELECTING 
// 
HtmlSelect multi_select = Find.ById<HtmlSelect>("select2"); 
multi_select.MultiSelectByText("E3145", "R4325", "W4573", "L5623"); 
multi_select.MultiSelectByValue("E3145", "R4325", "W4573", "L5623"); 
 
HtmlOption opt0 = multi_select.Options[0]; 
HtmlOption opt2 = multi_select.Options[2]; 
HtmlOption opt4 = multi_select.Options[4]; 
multi_select.MultiSelect(opt0, opt2, opt4); 
 
// 
// SET TEXT 
// 
Find.ById<HtmlTextArea>("textarea1").Text = "NEW TEXT"; 
 
// Access common methods 
HtmlAnchor link = Find.ByAttributes<HtmlAnchor>("href=~google"); 
Assert.IsTrue(link.Attributes.Count == 3); 
Assert.IsTrue(link.BaseElement.TextContent.Trim().Equals("Link")); 
 
// Invoke any events on the control 
link.InvokeEvent(ScriptEventType.OnFocus); 
' All controls have a Click/MouseClick. The .Click invokes a click from the DOM, 
' the MouseClick(), moves the mouse to the control and clicks it.    
 
' 
' CLICKING 
' 
Find.ById(Of HtmlInputButton)("button1").Click() 
ActiveBrowser.Refresh() 
Find.ById(Of HtmlInputButton)("button1").MouseClick() 
 
' You can capture any element on the page Imports the .Capture() 
Find.ById(Of HtmlInputImage)("image1").Capture("myfile")    ' Will be stored to the Log.LogLocation 
 
' 
' CHECKING   
' 
' Check a checkbox and invoke the onclick event.    
Dim ck As HtmlInputCheckBox = Find.ById(Of HtmlInputCheckBox)("checkbox1") 
ck.Check(True, True)     
 
' Query the checked state 
Assert.IsTrue(ck.Checked)    
' You can also simply set the value without invoking the clicked event. 
ck.Checked = False   
Assert.IsFalse(ck.Checked) 
 
' Get whether a checkbox is enabled or disabled. 
Dim cks As HtmlInputCheckBox = Find.ById(Of HtmlInputCheckBox)("checkbox1")    
Dim disabled As Boolean = cks.GetValue(Of Boolean)("disabled")    
 
' Disable it 
cks.SetValue(Of Boolean)("disabled", True)    
Assert.IsTrue(cks.GetValue(Of Boolean)("disabled")) 
 
' Is it visible    
Assert.IsTrue(cks.IsVisible()) 
 
' When the contents of a div element are larger than the declared 
' width or height of element it automatically adds scroll bars.    
' When that happens we can scroll the contents of the div element. 
' The value represents the offset in pixels to scroll the contents.    
Dim infoDiv As HtmlDiv = Find.ById(Of HtmlDiv)("AutoInfo") 
infoDiv.ScrollTop = 50    
infoDiv.ScrollLeft = 75 
 
' Get the color style 
Dim mySpan As HtmlSpan = Find.ById(Of HtmlSpan)("Warning")    
Dim styleColor As HtmlStyle = mySpan.GetStyle("color") 
Dim strColor As String = mySpan.GetStyleValue("color") 
 
' Getting the computed style will follow the CSS chain and return the 
' style.    
Dim styleMargin As HtmlStyle = mySpan.GetComputedStyle("margin") 
Dim strMargin As String = mySpan.GetComputedStyleValue("margin") 
 
' 
' SELECTING  
'   
Dim select1 As HtmlSelect = Find.ById(Of HtmlSelect)("select1")    
Assert.IsTrue(select1.SelectedOption.Value.Equals("Option1Text"))    
Assert.IsTrue(select1.SelectedOption.Text.Equals("Option1"))    
Assert.IsTrue(select1.SelectedIndex.Equals(0)) 
 
select1.SelectByIndex(1) 
Assert.IsTrue(select1.SelectedOption.Text.Equals("Option2"))     
 
' 
' MULTI-SELECTING    
' 
Dim multi_select As HtmlSelect = Find.ById(Of HtmlSelect)("select2")    
multi_select.MultiSelectByText("E3145", "R4325", "W4573", "L5623") 
multi_select.MultiSelectByValue("E3145", "R4325", "W4573", "L5623") 
 
Dim opt0 As HtmlOption = multi_select.Options(0)    
Dim opt2 As HtmlOption = multi_select.Options(2) 
Dim opt4 As HtmlOption = multi_select.Options(4)   
multi_select.MultiSelect(opt0, opt2, opt4) 
 
' 
' SET TEXT    
' 
Find.ById(Of HtmlTextArea)("textarea1").Text = "NEW TEXT" 
 
' Access common methods 
Dim link As HtmlAnchor = Find.ByAttributes(Of HtmlAnchor)("href=~google")    
Assert.IsTrue(link.Attributes.Count = 3) 
Assert.IsTrue(link.BaseElement.TextContent.Trim().Equals("Link")) 
 
' Invoke any events on the control 
link.InvokeEvent(ScriptEventType.OnFocus) 
In this article
Not finding the help you need? Improve this article