Thursday, March 1, 2012

Selenium Webdriver - Creating XPath

Selenium Webdriver - Creating XPath.


GUI ElementCorresponding XPath Remarks 
<input type="submit" value="Save"/>//input[@value='Save']Exactly matches the text "Save" 
<input type="submit" value="Save1"/>
<input type="submit" value="Save2"/>
//input[@value='Save1']
//input[@ type =' submit '][1]
matches the 1st input element, "Save1"
//input[@value='Save1']  
//input[@ type =' submit '][2]
matches the 2nd input element, "Save2" 

<a href="somelink">Structure</a>//a[text()="Structure"]Exactly matches the value within a given tag. Here the text "Structure" which is in between the <a> tag (anchor tag)
<a href="somelink">x_structure_y</a>//a[contains(text(),'structure')]Like wildcard search, matches the input element which has the text "structure" within a given tag
<input type="button" name="ccd_ccd_81533739_removeevent"/>
//input[contains(@name,concat("ccd","_","ccd","_")) and contains(@name,"removeevent")]
Note: The above xpath can be used when the attribute value has a part which is dynamic in nature (here in this case the text in between "ccd_" and "_removeevent" '81533739" keeps on changing everytime the GUI element is accessed)
Matching multiple text(s) pattern of a attribute value
<input type="text" value="Search..."/>//input[@type='text' and contains(@value,'Search')]Matches based on multiple attributes of a GUI element . Here the xpath of the text box is derived  based on its 'type' and 'value' attributes


Note: Contents are taken from this link

----

No comments:

Post a Comment