<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Selenium - C# Archives | Selenium Webdriver Appium Complete Tutorial</title>
	<atom:link href="https://automationtesting.in/category/selenium-c/feed/" rel="self" type="application/rss+xml" />
	<link>https://automationtesting.in/category/selenium-c/</link>
	<description>Automation Testing</description>
	<lastBuildDate>Sat, 29 Apr 2017 06:56:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.2</generator>
	<item>
		<title>Selenium ElementNotVisibleException</title>
		<link>https://automationtesting.in/selenium-elementnotvisibleexception/</link>
					<comments>https://automationtesting.in/selenium-elementnotvisibleexception/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sat, 04 Feb 2017 01:37:05 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[ElementNotVisible Exception]]></category>
		<category><![CDATA[ElementNotVisibleException]]></category>
		<category><![CDATA[Exceptions in selenium]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[selenium exceptions]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webdriver exceptions]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=1316</guid>

					<description><![CDATA[<p>Selenium ElementNotVisibleException is also one of the frequent exceptions which we will face in selenium webdriver while automating any kind of application. This exception tells you that the WebElement that you are trying to interact with is not visible to the user. If the element is not visible to the user then they are not [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-elementnotvisibleexception/">Selenium ElementNotVisibleException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Selenium ElementNotVisibleException is also one of the frequent exceptions which we will face in selenium webdriver while automating any kind of application. This exception tells you that the WebElement that you are trying to interact with is not visible to the user. If the element is not visible to the user then they are not going to able to interact with it.</p>
<div class="post-video"><iframe loading="lazy" width="1165" height="874" src="https://www.youtube.com/embed/asFa4gjBpG0?wmode=transparent&#038;fs=1"  allowfullscreen></iframe></div>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<p><strong>Below are the causes to face this exception:</strong></p>
<p>Thrown to indicate that although an element is present on the DOM, it is not visible, and so is not able to be interacted with. To overcome this kind of situation we need to use synchronization concept in selenium. So, add an explicit wait to wait for the correct conditions to be met before trying to interact with the element. We have an option to use wait in so many ways or conditions. Will make use of all those things depends on the situation and will try to resolve or handle these type of scenarios.</p>
<p>Sometimes if the element is there on the web page and not in the visible area then also you can find this type of exception. To overcome this situation we need to scroll to that particular web element first then you can interact with that element to resolve this type of exception. Most of the times selenium webdriver will take care of this situation that it will find the element which is not there on the visible area and it will interact with that element. But some times, if the situation comes, then we need to scroll to the particular web element or scroll in the webpage and then can interact with the required element.</p>
<p>This way we can overcome the ElementNotVisibleException in selenium webdriver.</p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-1316" data-postid="1316" class="themify_builder_content themify_builder_content-1316 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-elementnotvisibleexception/">Selenium ElementNotVisibleException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/selenium-elementnotvisibleexception/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Selenium NoSuchWindowException</title>
		<link>https://automationtesting.in/selenium-nosuchwindowexception/</link>
					<comments>https://automationtesting.in/selenium-nosuchwindowexception/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Mon, 12 Dec 2016 00:40:27 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[Exceptions in selenium]]></category>
		<category><![CDATA[NoSuchWindowException]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[selenium exceptions]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webdriver exceptions]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=473</guid>

					<description><![CDATA[<p>Selenium NoSuchWindowException is similar to NoSuchFrameException, this is also one of the frequent exceptions which we will face in selenium webdriver. Sometimes applications will have child windows(i.e. Separate windows) which will open when you click on any link or button. Normally if you want to automate the child windows then you need to switch to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-nosuchwindowexception/">Selenium NoSuchWindowException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Selenium NoSuchWindowException is similar to NoSuchFrameException, this is also one of the frequent exceptions which we will face in selenium webdriver. Sometimes applications will have child windows(i.e. Separate windows) which will open when you click on any link or button. Normally if you want to automate the child windows then you need to switch to that window then only you can interact with the elements which are there on that window. To overcome this, we need to handle the opened windows using one of the webdriver methods called “<strong>driver.getWindowHandles()</strong>”. Once  you have this information then you can switch to the corresponding window to automate or interact with the window.</p>
<div class="post-video"><iframe loading="lazy" title="Selenium NoSuchWindowException" width="1165" height="874" src="https://www.youtube.com/embed/AKiOC67mDIs?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><strong>Below are the causes to face this exception:</strong></p>
<ol>
<li>This exception is caused because the list of windows hold by the driver.getWindowHandles() method is not up to date. One of the windows that previously existed is no longer exists; so, you can not switch to that window. To handle this we need to make sure that you are not closing a window without refreshing the available list of windows using this method.</li>
<li>The other reason behind this exception is that you may trying to switch to window before handling all the opened windows using driver.getWindowHandles() method. And we need to keep in mind that we should know which window we are trying to switch as getWindowHandles() holds all the windows which are opened. To get the main window then you can use one the webdriver methods called “<strong>driver.getWindowHandle()</strong>”. Once you have all the windows with you then you can loop through all the windows which are there in the list and we can switch to the desired window.</li>
</ol>
<p>Once you done with your work, then you need to come to the parent or default windows then only your execution will be smooth. This way can overcome the NoSuchWindowException in selenium webdriver.</p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-473" data-postid="473" class="themify_builder_content themify_builder_content-473 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-nosuchwindowexception/">Selenium NoSuchWindowException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/selenium-nosuchwindowexception/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Selenium NoSuchFrameException</title>
		<link>https://automationtesting.in/selenium-nosuchframeexception/</link>
					<comments>https://automationtesting.in/selenium-nosuchframeexception/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Mon, 12 Dec 2016 00:35:28 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[Exceptions in selenium]]></category>
		<category><![CDATA[NoSuchFrameException]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[selenium exceptions]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webdriver exceptions]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=465</guid>

					<description><![CDATA[<p>Selenium NoSuchFrameException will discuss about one of the frequent exceptions which we will face in selenium webdriver. You might face this kind of exception while automating the application if you have iFrames in your application. In modern applications people are using iFrames very frequently as if you want to show the information from other sources [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-nosuchframeexception/">Selenium NoSuchFrameException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Selenium NoSuchFrameException will discuss about one of the frequent exceptions which we will face in selenium webdriver. You might face this kind of exception while automating the application if you have iFrames in your application. In modern applications people are using iFrames very frequently as if you want to show the information from other sources then will use the frames in the application. We will face this kind of exception in different kind of scenarios. Will discuss the reasons for this issue and we will know we can overcome this issue.</p>
<div class="post-video"><iframe loading="lazy" title="Selenium NoSuchFrameException" width="1165" height="874" src="https://www.youtube.com/embed/KD7YIbYN7LE?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><strong>Below are the causes to face this exception:</strong></p>
<ol>
<li>Let&#8217;s assume in your application if you have a frame and it contains some elements (for example we will take a textbox in this scenarios) and you want to enter something into that textbox. For this we have captured the locator of the textbox and used the same in the code and everything is correct as per the logic. But after execution of the script we will find NoSuchFrameException. And best part here is selenium will tell us with the proper exception, instead if it says NoSuchElementException then it will be very difficult us to resolve these kind of scenarios.Actually the issue is, if you have frames in your application then you <strong>need to switch to that frame</strong> first and then only you will be able to interact with the elements which are there inside the frame in selenium.</li>
<li>Let&#8217;s assume one more scenario where you have a webpage with more than one frame. We will call them frame A and frame B. We will assume that we first switched to frame B to check/verify something in the frame B. If we then try to find frame A, we will get NoSuchFrameException. This is because frame A does not exist in the context of frame B.</li>
</ol>
<p>To overcome this issue is to always go back to the parent frame before trying to switch to another frame</p>
<p>If you have a frame inside a frame then you no need to go back to parent content. You can directly switch to that frame. But after completion of all the things which you want to perform inside the frames need to come out of the frames to continue further script capturing and execution.</p>
<p>You can use frame IDs or WebElements to locate the frames and then you can switch to them. You can also use frame indexes to switch to them but use this as a last option.</p>
<p>Please watch the YouTube video for this blog for better understanding.</p>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-465" data-postid="465" class="themify_builder_content themify_builder_content-465 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-nosuchframeexception/">Selenium NoSuchFrameException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/selenium-nosuchframeexception/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Selenium NoSuchElementException</title>
		<link>https://automationtesting.in/selenium-nosuchelementexception/</link>
					<comments>https://automationtesting.in/selenium-nosuchelementexception/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sun, 11 Dec 2016 16:44:15 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[Exceptions in selenium]]></category>
		<category><![CDATA[ExpectedConditions]]></category>
		<category><![CDATA[NoSuchElementException]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[selenium exceptions]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[Synchronization]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webdriver exceptions]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=459</guid>

					<description><![CDATA[<p>Selenium NoSuchElementException is the most and frequent facing exception. You will definitely find this kind of exception while automating the application. In this blog we will see what are the reasons to face this exception and how we can overcome this exception in detail. Below are the reasons to get this exception: The locator which [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-nosuchelementexception/">Selenium NoSuchElementException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Selenium NoSuchElementException is the most and frequent facing exception. You will definitely find this kind of exception while automating the application. In this blog we will see what are the reasons to face this exception and how we can overcome this exception in detail.</p>
<div class="post-video"><iframe loading="lazy" title="Selenim NoSuchElementException" width="1165" height="874" src="https://www.youtube.com/embed/U0cIPRus7O0?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><strong>Below are the reasons to get this exception:</strong></p>
<ol>
<li>The locator which you are using to locate the element is incorrect/changed.</li>
<li>The element which you are looking is not rendered.</li>
<li>Trying to find the element before it was rendered.</li>
</ol>
<p><strong>Locator is Incorrect/changed:</strong></p>
<p>Here we have two possibilities that the locator which you have written to identify an element may be incorrect or sometimes after writing/capturing the code, if there are any changes in the application then the locator may change. In both scenarios tool will not able to identify the element and it will throw NoSuchElementException.</p>
<p>To overcome this, we need to take the element locator which is causing this issue and validate against the application that the locator is identifying/highlighting any element on the application or not? For this we can use Firefox add-ons i.e. firebug and firepath then you place the locator in the firepath and validate the same against application that it is highlighting the element or not?</p>
<p>And sometimes if you are not navigated to a particular page after clicking on a link or button then it will cause this issue as it will look for the element to interact in the new page but actually it is not navigated to that page. But here the actual error show that it is not able to find particular element but the issue is not with that element as the page not yet navigated to that page. This kind of situation is bit tricky, but we need to find these type of issues also. Best example for this is navigating to application using login page but if the credentials are wrong then you might get this issue.</p>
<p>To overcome this issue, we can capture the screenshots for these type of scenarios and can find the issues by looking into these screenshots.</p>
<p><strong>Element Not Rendered:</strong></p>
<p>It is bit difficult to find this as something is not rendering on the application then you need to debug the code and see what could be the real issue. If something is not rendering then that is a bug in the application.</p>
<p>Here if you use the first issue resolution then it will not work as if you try to highlight the element in the application using firebug and firepath then it will not show anything in the console. But this is not an issue with the locator instead the element is not rendering on the application.</p>
<p>To overcome this issue, we can capture the screenshots for these type of scenarios and can find the issues by looking into these screenshots.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<strong>Trying to find the element before it was rendered:</strong></p>
<p>Sometimes we are trying to interact with an element which is not yet rendered on the application. Here also we will get the same kind of issue which we saw in the above. But in the above case the element is not completely rendering, here it is rendering but taking bit more time to load. Now a days lots of modern websites use technologies such as jQuery or AngularJS, which use the JavaScript to manipulate the DOM. And Our Selenium is very fast. In many cases, it&#8217;s ready to start interacting with your website before the JavaScript has finished doing its job.</p>
<p>To overcome this, we need to think that how a manual tester will test these kind of scenarios. They will wait until the element renders on the application. So, same way we need to wait to load that particular element. For this we will use <strong>Synchronization</strong> concept i.e. we need to stop the code execution until the element renders. For this we can use <strong>ExpectedConditions</strong> class and its methods to achieve this functionality.</p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-459" data-postid="459" class="themify_builder_content themify_builder_content-459 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-nosuchelementexception/">Selenium NoSuchElementException</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/selenium-nosuchelementexception/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Selenium WebDriver Exceptions</title>
		<link>https://automationtesting.in/selenium-webdriver-exceptions/</link>
					<comments>https://automationtesting.in/selenium-webdriver-exceptions/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sun, 11 Dec 2016 15:44:26 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[ElementNotVisibleException]]></category>
		<category><![CDATA[Exceptions in selenium]]></category>
		<category><![CDATA[InvalidElementStateException]]></category>
		<category><![CDATA[NoSuchElementException]]></category>
		<category><![CDATA[NoSuchFrameException]]></category>
		<category><![CDATA[NoSuchWindowException]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[SessionNotFoundException]]></category>
		<category><![CDATA[StaleElementReferenceException]]></category>
		<category><![CDATA[UnreachableBrowserException]]></category>
		<category><![CDATA[UnsupportedCommandException]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webdriver exceptions]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=454</guid>

					<description><![CDATA[<p>Selenium Webdriver exceptions will discuss about what kind of exception we will get in selenium webdriver while executing the automation scripts. An exception is an infallible statement; it will always tell you why something has gone wrong in the code. It may not always be easy to understand the exception, but it does always tell [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-webdriver-exceptions/">Selenium WebDriver Exceptions</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Selenium Webdriver exceptions will discuss about what kind of exception we will get in selenium webdriver while executing the automation scripts. An exception is an infallible statement; it will always tell you why something has gone wrong in the code. It may not always be easy to understand the exception, but it does always tell the information about the what is wrong in the code.</p>
<p>One of the good things in selenium is while looking into the exception we will come to know what went wrong as the exception names will give some what clear picture for the error which we will face.</p>
<div class="post-video"><iframe loading="lazy" title="Selenium Webdriver Exceptions" width="1165" height="874" src="https://www.youtube.com/embed/OhokdRYeAkg?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><strong>Below are some of the Exceptions which we will see while automating the applications:</strong></p>
<ol>
<li>NoSuchElementException</li>
<li>NoSuchFrameException</li>
<li>NoSuchWindowException</li>
<li>ElementNotVisibleException</li>
<li>StaleElementReferenceException</li>
<li>InvalidElementStateException</li>
<li>UnreachableBrowserException</li>
<li>SessionNotFoundException</li>
</ol>
<p>Now we will see briefly about these exceptions:</p>
<p><strong>NoSuchElementException:</strong></p>
<p>This is the most and frequent facing exception. You will definitely find this kind of exception while automating the application. The reason for this exception is, the element you are trying to find does not exist.</p>
<p><strong>NoSuchFrameException:</strong></p>
<p>This is also most and frequent facing exception. In modern applications people are using iFrames very frequently. When you try to find an iFrame on application and it is not exist in the application then code will throw NoSuchFrameException.</p>
<p><strong>NoSuchWindowException:</strong></p>
<p>This is also very similar to the previous exception. A Window is a browser which is opened by the webdriver or child window(i.e.another browser opened from the parent browser). When you try find a Window and that is not available at present, then the code will throw NoSuchWindowException.</p>
<p><strong>ElementNotVisibleException:</strong></p>
<p>This is also most and very frequent facing exception. This ElementNotVisibleException tells you that the WebElement that you are trying to interact with is not visible to the user.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<p><strong>StaleElementReferenceException:</strong></p>
<p>This is an exception that you will quite often see when you work with AJAX or heavy JavaScript websites, where the DOM is continually being changed. When the element is no longer attached to the DOM then you will face this exception.</p>
<p><strong>InvalidElementStateException:</strong></p>
<p>This exception you can not find very frequently. When you try to interact with any element then an unexpected popup will come but we are not sure why and what it is. An InvalidElementStateException is thrown when the WebElement that you are trying to interact with is not in a state that would allow you to perform the action that you would like to perform.</p>
<p><strong>UnreachableBrowserException:</strong></p>
<p>Sometimes you will face this type of Exception. As we know that selenium sends commands to the browser to execute and get the response back. Sometimes we will not get the response from the browser then we will get UnreachableBrowserException.</p>
<p><strong>SessionNotFoundException:</strong></p>
<p>You will not get this kind of exception frequently. But while you executing your tests and something will go wrong and will lose connection with the browser instance that you are driving. Then you will get SessionNotFoundException.</p>
<p>These are the most frequently exceptions we will face while automating any kind of application.</p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-454" data-postid="454" class="themify_builder_content themify_builder_content-454 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-webdriver-exceptions/">Selenium WebDriver Exceptions</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/selenium-webdriver-exceptions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Handling Basic Elements in Selenium</title>
		<link>https://automationtesting.in/handling-basic-elements-selenium/</link>
					<comments>https://automationtesting.in/handling-basic-elements-selenium/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sun, 11 Dec 2016 03:35:43 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[Handling basic elements]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[selenium webelement]]></category>
		<category><![CDATA[web element]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webelement]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=437</guid>

					<description><![CDATA[<p>Handling basic elements in Selenium will discuss about how we can interact with the elements which we will use very frequently on any applications. In this video we will understand the concept of WebElement also; as we will call all the elements which are there on the web page are web elements. In this, we [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/handling-basic-elements-selenium/">Handling Basic Elements in Selenium</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Handling basic elements in Selenium will discuss about how we can interact with the elements which we will use very frequently on any applications. In this video we will understand the concept of WebElement also; as we will call all the elements which are there on the web page are web elements.</p>
<div class="post-video"><iframe loading="lazy" title="Handling Basic Elements in Selenium" width="1165" height="874" src="https://www.youtube.com/embed/IbIwxeH8ojQ?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>In this, we will see how we will handle the below elements which are frequent in any application:</p>
<ol>
<li>Textbox</li>
<li>Button</li>
<li>Radio Button</li>
<li>CheckBox etc&#8230;</li>
</ol>
<p>To achieve this we will write one simple sample program to automate the AUT(Application Under Test). Here we will see the process in step by step. For this we need to follow the below steps:</p>
<ol>
<li>Install/Download any IDE(to write the code)</li>
<li>Download and Add Selenium Jar files</li>
<li>Create a Java Project In IDE</li>
<li>Create a Class under the Project</li>
<li>Write Sample Code
<ul>
<li>Open Browser</li>
<li>Navigate to the application URL</li>
<li>Capture the locators of the Web Element which are there on the application</li>
<li>Write the code for automating the functionality</li>
<li>Execute the program.</li>
</ul>
</li>
</ol>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<strong>Below is the Sample Program:</strong></p>
<pre class="brush: java; title: ; notranslate">
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class SampleProgram
{
   public static void main(String&#x5B;] args) throws InterruptedException
   {
       System.setProperty(&quot;webdriver.gecko.driver&quot;, &quot;Path of gecko driver&quot;);
       WebDriver driver = new FirefoxDriver();
       driver.get(&quot;http://demo.automationtesting.in/Register.html&quot;);
       driver.findElement(By.cssSelector(&quot;input&#x5B;placeholder='First Name']&quot;)).sendKeys(&quot;Krishna&quot;);
       driver.findElement(By.cssSelector(&quot;input&#x5B;placeholder='Last Name']&quot;)).sendKeys(&quot;Kumar&quot;);
       driver.findElement(By.cssSelector(&quot;#submitbtn&quot;)).click();
       Thread.sleep(5000);
       driver.quit();
   }
}
</pre>
<p>In the above program we are handling some of the basic elements (i.e. Textbox and Button).  For each and every webelement it is mandatory to get the locator and use the same in the code to identify that element.</p>
<p>We have separate API/methods to handle different types of elements. To handle textbox we have separate method and to handle the button we have separate methods. Same way we have different API to handle different web elements. We need to understand the element before interacting with it. And the selenium simulates the human interactions means how you interact with the application manually almost same way selenium also interacts with the application.</p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-437" data-postid="437" class="themify_builder_content themify_builder_content-437 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/handling-basic-elements-selenium/">Handling Basic Elements in Selenium</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/handling-basic-elements-selenium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Useful Tools and Plugins in Selenium</title>
		<link>https://automationtesting.in/useful-tools-plugins-selenium/</link>
					<comments>https://automationtesting.in/useful-tools-plugins-selenium/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sun, 11 Dec 2016 02:15:57 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox plugins for selenium]]></category>
		<category><![CDATA[Firepath]]></category>
		<category><![CDATA[Important plugins for firefox]]></category>
		<category><![CDATA[important plugins in selenium]]></category>
		<category><![CDATA[measureit]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[Webdriver]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=429</guid>

					<description><![CDATA[<p>Useful Tools and Plugins in selenium will discuss about some of the useful tools or plugins which are very helpful while writing the automation scripts using selenium webdriver. One of the tedious and time taking tasks in the selenium webdriver is to identify the element on the web page. For this we need to use [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/useful-tools-plugins-selenium/">Useful Tools and Plugins in Selenium</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Useful Tools and Plugins in selenium will discuss about some of the useful tools or plugins which are very helpful while writing the automation scripts using selenium webdriver. One of the tedious and time taking tasks in the selenium webdriver is to identify the element on the web page. For this we need to use <a href="https://automationtesting.in/selenium-webdriver-locators/">locators</a>.   If we have IDs to all the locators then it is super easy to write the locator for each and every element. But unfortunately developers will not put the IDs to the elements and it is not possible to put the IDs to all the elements as some of the elements will generate dynamically.</p>
<div class="post-video"><iframe loading="lazy" title="Useful Tools and Plugins in Selenium" width="1165" height="874" src="https://www.youtube.com/embed/F6Fy2_ouiGo?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>But as an automation tester while writing/capturing the scripts using selenium then it is mandatory to find the locator of each and every element which we want to interact. If we are very good at writing the XPath or CSS Selector though it will take so much time to capture the locators. Each browser has its own plug ins to find the elements but easiest and powerful plugins are available with Firefox browser.</p>
<p><strong>Below are the plugins which are very helpful to find the elements and co-ordinates:</strong></p>
<ol>
<li>Firebug</li>
<li>Firepath</li>
<li>WebDriver Element Locator</li>
<li>MeasureIt</li>
</ol>
<p><strong>FireBug:</strong></p>
<p>This is most popular and powerful web development tool. It is used to inspect the HTML and modify style and layout in real time. But in selenium we will use this to inspect the elements on the web page to get the locator. It will show the HTML written behind the web page in a structured manner and it will highlight the particular element which you inspected.</p>
<p>You can get more information and you can download this plugin from this <a href="http://getfirebug.com/">link</a>. Apart from this you can directly go to the <strong>Add-ons &gt; Extensions</strong> of the firefox and search for the firebug from the search box available here and can install. Need to restart the firefox to effect the changes.</p>
<p><strong>FirePath:</strong></p>
<p>Firebug only highlights the element but it will not give the locator value. But using Firepath we can get the locator value directly without writing anything. But these may not be accurate as it uses its own logic to construct the locator. To write effective locators we can customize the firepath given value. Most of the times we can directly use the value which is provided by the firepath. And sometimes we need to change the value of this according to the situation.</p>
<p>You can get more information and you can download this plugin from this <a href="https://addons.mozilla.org/en-us/firefox/addon/firepath/">link</a>. Apart from this you can directly go to the <strong>Add-ons &gt; Extensions</strong> of the firefox and search for the <strong>firepath</strong> from the search box available here and can install. Need to restart the firefox to effect the changes.</p>
<p>Firepath will give XPath and CSS Selector values directly when you inspect the element using firebug.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<p><strong>WebDriver Element Locator:</strong></p>
<p>This plugin is also used to find the locators of the particular element on the web page. This is combination of Firepath and Firebug we can say as if you right click on any element on the webpage it will give so many language(i.e. Java, C#, Ruby and Python) options along with XPath. You just right click on any element and then you can get the XPath of that particular element and you can copy in the code. It will make your life more easy.</p>
<p>You can get more information and you can download this plugin from this <a href="https://addons.mozilla.org/en-US/firefox/addon/element-locator-for-webdriv/">link</a>. Apart from this you can directly go to the <strong>Add-ons &gt; Extensions</strong> of the firefox and search for the <strong>WebDriver Element Locator</strong> from the search box available here and can install. Need to restart the firefox to effect the changes.</p>
<p><strong>MeasureIt:</strong></p>
<p>This plugin is used to find the coordinates of the particular element. Sometimes in selenium locators may not work or may not possible to get those. In those situations we will depend upon the coordinates. For ex, if you want drag and drop particular element; sometimes destination might be dynamic then we can use the coordinates to find the area where we want to drop the element.</p>
<p>You can get more information and you can download this plugin from this <a href="https://addons.mozilla.org/en-US/firefox/addon/measureit/">link</a>. Apart from this you can directly go to the <strong>Add-ons &gt; Extensions</strong> of the firefox and search for the <strong>measureit</strong> from the search box available here and can install. Need to restart the firefox to effect the changes.</p>
<p>These are the basic and very helpful plugins while automating the applications using selenium. We have so many other alternatives for different browsers but these are the very suitable and helpful plugins and it will make your automation life easy 🙂</p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-429" data-postid="429" class="themify_builder_content themify_builder_content-429 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/useful-tools-plugins-selenium/">Useful Tools and Plugins in Selenium</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/useful-tools-plugins-selenium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CSS Selector in Selenium WebDriver</title>
		<link>https://automationtesting.in/css-selector-selenium-webdriver/</link>
					<comments>https://automationtesting.in/css-selector-selenium-webdriver/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sat, 10 Dec 2016 12:45:44 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[css selector]]></category>
		<category><![CDATA[css selector in selenium]]></category>
		<category><![CDATA[css selector selenium]]></category>
		<category><![CDATA[customized css selector]]></category>
		<category><![CDATA[dynamic css selector]]></category>
		<category><![CDATA[how to construct css selector]]></category>
		<category><![CDATA[how to write css selector]]></category>
		<category><![CDATA[selenium css selector]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=518</guid>

					<description><![CDATA[<p>CSS Selector in Selenium Web Driver will describe the importance of the CSS Selector in Selenium automation.It is very common that when you want to automate any application the most important thing is to identify the element to interact with it. Particularly when you using Selenium as your automation tool, explicitly you have to identify [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/css-selector-selenium-webdriver/">CSS Selector in Selenium WebDriver</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img src='http://automationtesting.in/wp-content/uploads/2016/12/CSS-SELECTOR-IN-SELENIUM.png'></p><p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<b>CSS Selector</b><span style="font-weight: 400;"> in Selenium Web Driver will describe the importance of the CSS Selector in Selenium automation.It is very common that when you want to automate any application the most important thing is to identify the element to interact with it. Particularly when you using Selenium as your automation tool, explicitly you have to identify the element on web page. There are so many ways to identify the elements in Selenium and those are called locators. One of the most used, popular and fastest locators is </span><b>CSS Selector</b><span style="font-weight: 400;">. </span></p>
<p><b>CSS Selector</b><span style="font-weight: 400;"> is a way of identifying the element on web page. In simple words, finding address of an element on the web page. You can use so many ways to identify the element using CSS Selector.</span></p>
<div class="post-video"><iframe loading="lazy" title="Writing Dynamic CSS Selector in Selenium WebDriver - Part 1" width="1165" height="655" src="https://www.youtube.com/embed/r2-lOcqqIN4?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><span style="font-weight: 400;">Using CSS is best practice when you compare to XPath. The advantages of CSS over XPath are:</span></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">CSS Selector will not change browser to browser as XPath will change.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">CSS is native to browsers and XPath is not</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">XPath can traverse up the document from a child element to parents.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">XPath engines are different in each browser, hence make them inconsistent</span></li>
<li style="font-weight: 400;"><b>IE</b><span style="font-weight: 400;"> does not have a native xpath engine, therefore selenium injects its own xpath engine for compatibility of its API. Hence we lose the advantage of using native browser features that WebDriver inherently promotes.</span></li>
</ul>
<p><span style="font-weight: 400;">However there are some situations where, you need to use XPath and that will depend on the application.</span></p>
<div class="post-video"><iframe loading="lazy" title="Writing Dynamic CSS Selector in Selenium WebDriver - Part 2" width="1165" height="655" src="https://www.youtube.com/embed/oBVGOPc-ql8?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><span style="font-weight: 400;">By using below methods we can identify the elements uniquely.</span></p>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">TagName</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Id</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">ClassName</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Attributes</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Contains</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Starts-with</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Ends With</span></li>
</ol>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<span style="color: #0000ff;"><b>TagName:</b></span></p>
<p>Using tag name we can identify the element. But it will locate so many elements on the web page as page may have same tags in many places. So, it will not locate the element uniquely. This is not a good practice to use the tag name individually to locate the element.</p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>input</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-input-tag.png"><img decoding="async" loading="lazy" class="size-full wp-image-521 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-input-tag.png" alt="CSS using input tag" width="1236" height="616" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-input-tag.png 1236w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-input-tag-300x150.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-input-tag-768x383.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-input-tag-1024x510.png 1024w" sizes="(max-width: 1236px) 100vw, 1236px" /></a></p>
<p><span style="font-weight: 400;">In the above image, the input tag highlighted/located 15 elements. So, tag name may not useful while identifying the element uniquely.</span></p>
<p><span style="color: #0000ff;"><b>ID:</b></span></p>
<p><span style="font-weight: 400;">ID is an attribute to the element or tag to describe what kind of element that is. IDs are         unique. If you want to use ID as locator then need to use ‘</span><b>#</b><span style="font-weight: 400;">’ symbol in front of ID.</span></p>
<p><b>#IDValue</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>#optionsRadiosInline1</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-ID.png"><img decoding="async" loading="lazy" class="size-full wp-image-522 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-ID.png" alt="CSS using ID" width="1162" height="617" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-ID.png 1162w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-ID-300x159.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-ID-768x408.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-ID-1024x544.png 1024w" sizes="(max-width: 1162px) 100vw, 1162px" /></a></p>
<p><span style="font-weight: 400;">In the above example, only one element highlighted using ID. </span><b>#</b><span style="font-weight: 400;"> is mandatory to identify the element using ID.</span></p>
<p><span style="color: #0000ff;"><b>Class Name:</b></span></p>
<p>Class is also an attribute to the element to apply the styles to that tag/element. Class names are not unique. So, if use these; it locate so many elements which are using the same class. If you want to locate an element using class name use any other attributes as extra parameters to identify the element uniquely.</p>
<p><span style="font-weight: 400;">If you want to use Class Name as locator then need to use ‘</span><b>.’(i.e. dot)</b><span style="font-weight: 400;"> symbol in front of class name.</span></p>
<p><b>.className</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>.radio-inline</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Classname.png"><img decoding="async" loading="lazy" class="size-full wp-image-523 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Classname.png" alt="CSS using Classname" width="1167" height="615" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Classname.png 1167w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Classname-300x158.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Classname-768x405.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Classname-1024x540.png 1024w" sizes="(max-width: 1167px) 100vw, 1167px" /></a></p>
<p><span style="font-weight: 400;">In the above example, 2 elements highlighted using className. </span><b>. (dot)</b><span style="font-weight: 400;"> is mandatory to identify the element using class name</span><br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<span style="color: #0000ff;"><b>Attributes:</b></span></p>
<p><b>    </b><span style="font-weight: 400;">As class Names are not unique, need to use the other attribute values along with class name to identify</span> <span style="font-weight: 400;">element uniquely. </span></p>
<p><span style="font-weight: 400;">Sometimes single attribute is enough to identify, but some times it will not suffice to identify the element then we will use multiple attributes to identify the element uniquely.</span></p>
<p><b>Single Attribute:</b></p>
<p><b>tagName[attribute = ‘attributeValue’]</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>input[placeholder=&#8217;First name&#8217;]</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Single-Attribute.png"><img decoding="async" loading="lazy" class="size-full wp-image-524 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Single-Attribute.png" alt="CSS using Single Attribute" width="1167" height="618" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Single-Attribute.png 1167w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Single-Attribute-300x159.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Single-Attribute-768x407.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-Single-Attribute-1024x542.png 1024w" sizes="(max-width: 1167px) 100vw, 1167px" /></a></p>
<p><b>Multiple Attributes:</b></p>
<p><b>tagName[attribute1=’attributeValue1’][attribute2=’attributeValue2’]</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>input[type=&#8217;text&#8217;][placeholder=&#8217;First name&#8217;]</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-multiple-attributes.png"><img decoding="async" loading="lazy" class="size-full wp-image-525 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-multiple-attributes.png" alt="CSS using multiple attributes" width="1160" height="621" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-multiple-attributes.png 1160w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-multiple-attributes-300x161.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-multiple-attributes-768x411.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-multiple-attributes-1024x548.png 1024w" sizes="(max-width: 1160px) 100vw, 1160px" /></a></p>
<p><span style="color: #0000ff;"><b>Contains:</b></span></p>
<p><span style="font-weight: 400;">We can use contains method to identify the element. Need to use ‘</span><b>*</b><span style="font-weight: 400;">’ (i.e. </span><b>Star</b><span style="font-weight: 400;">) symbol to identify the element.</span></p>
<p><b>tagName[attribute*=’partialAttributeValue’]</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>input[placeholder*=&#8217;First&#8217;]</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-contains.png"><img decoding="async" loading="lazy" class="size-full wp-image-526 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-contains.png" alt="CSS using contains" width="1174" height="617" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-contains.png 1174w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-contains-300x158.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-contains-768x404.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-contains-1024x538.png 1024w" sizes="(max-width: 1174px) 100vw, 1174px" /></a></p>
<p><span style="color: #0000ff;"><b>Starts With:</b></span></p>
<p><span style="font-weight: 400;">We can use startswith method to identify the element. Need to use ‘</span><b>^</b><span style="font-weight: 400;">’(i.e </span><b>Cap</b><span style="font-weight: 400;">) symbol to identify the element.</span></p>
<p><b>tagName[attribute^=&#8217;attributeStartingValue&#8217;]</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>input[name^=&#8217;first&#8217;]</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-startswith.png"><img decoding="async" loading="lazy" class="size-full wp-image-527 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-startswith.png" alt="CSS using startswith" width="1172" height="619" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-startswith.png 1172w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-startswith-300x158.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-startswith-768x406.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-startswith-1024x541.png 1024w" sizes="(max-width: 1172px) 100vw, 1172px" /></a></p>
<p><span style="color: #0000ff;"><b>Ends With:</b></span></p>
<p><span style="font-weight: 400;">We can use endswith method to identify the element. Need to use ‘</span><b>$</b><span style="font-weight: 400;">’(i.e </span><b>Dollar</b><span style="font-weight: 400;">) symbol to identify the element.</span></p>
<p><b>tagName[attribute$=&#8217;attributeStartingValue’]</b></p>
<p><span style="font-weight: 400;">Example:</span></p>
<p><b>input[name$=&#8217;rstName&#8217;]</b></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-endswith.png"><img decoding="async" loading="lazy" class="size-full wp-image-528 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-endswith.png" alt="CSS using endswith" width="1167" height="619" srcset="https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-endswith.png 1167w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-endswith-300x159.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-endswith-768x407.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/CSS-using-endswith-1024x543.png 1024w" sizes="(max-width: 1167px) 100vw, 1167px" /></a></p>
<p><b>Conclusion:</b></p>
<p><span style="font-weight: 400;">Here the conclusion is, need to identify the element uniquely on the web page to interact with exactly. The above are the only examples to demonstrate. Those CSS will vary depends on the application and how the HTML is written.</span></p>
<p>Please watch the youtube video for better understanding.</p>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-518" data-postid="518" class="themify_builder_content themify_builder_content-518 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/css-selector-selenium-webdriver/">CSS Selector in Selenium WebDriver</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/css-selector-selenium-webdriver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>XPath in Selenium WebDriver</title>
		<link>https://automationtesting.in/xpath-selenium-webdriver/</link>
					<comments>https://automationtesting.in/xpath-selenium-webdriver/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sat, 10 Dec 2016 12:40:57 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[customized xpath]]></category>
		<category><![CDATA[dynamic xpath]]></category>
		<category><![CDATA[how to construct xpath]]></category>
		<category><![CDATA[how to write xpath]]></category>
		<category><![CDATA[selenium xpath]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[xpath in selenium]]></category>
		<category><![CDATA[xpath selenium]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=489</guid>

					<description><![CDATA[<p>XPath in Selenium Web Driver will describe the importance of the XPath in Selenium automation.It is very common that when you want to automate any application the most important thing is to identify the element to interact with it. Particularly when you using Selenium as your automation tool, explicitly you have to identify the element [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/xpath-selenium-webdriver/">XPath in Selenium WebDriver</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img src='http://automationtesting.in/wp-content/uploads/2016/12/XPATH-IN-SELENIUM-1-1.png'></p><p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
XPath in Selenium Web Driver will describe the importance of the XPath in Selenium automation.It is very common that when you want to automate any application the most important thing is to identify the element to interact with it. Particularly when you using Selenium as your automation tool, explicitly you have to identify the element on web page. There are so many ways to identify the elements in Selenium and those are called locators. One of the most used and popular locators is XPath.</p>
<div class="post-video"><iframe loading="lazy" title="Writing Dynamic XPath in Selenium WebDriver - Part 1" width="1165" height="655" src="https://www.youtube.com/embed/8fOFS1VlkEw?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>XPath (XML Path Language),  is a query language for selecting nodes from an XML document. The XPath language is based on a tree representation of the XML document, and provides the ability to navigate around the tree, selecting nodes by a variety of criteria.</p>
<p>XML contain one or more elements/tags/nodes, an element may contain content/data or may contain other elements as child nodes. Each element should have starting tag and ending tag. The element content will reside in between these two tags. Apart from the content each tag  may have attributes. These attributes will give extra information about the element.</p>
<p><strong>Below is the sample XML:</strong></p>
<pre class="brush: xml; title: ; notranslate"> 
&lt;automation&gt;
      &lt;selenium type=&quot;opensource&quot;&gt;
          &lt;webdriver&gt;
             Open Source Automation Testing Tool.
          &lt;/webdriver&gt;
      &lt;/selenium&gt;   
      &lt;qtp type=&quot;licenced&quot;&gt;
      &lt;/qtp&gt;
 &lt;/automation&gt;
</pre>
<p><strong>Brief information about the above XML:</strong></p>
<ol>
<li>&lt;automation&gt;, &lt;selenium&gt;, &lt;webdriver&amp;&gt; and &lt;qtp&gt; are the tags/nodes/elements.</li>
<li>&lt;automation&gt; is the root tag.</li>
<li>&lt;automation&gt; have 2 child nodes called &lt;selenium&amp;gt; and &lt;qtp&gt;.</li>
<li>&lt;webdriver&gt; is the child of &lt;selenium&gt; and grand child of &lt;automation&gt;.</li>
<li>&lt;webdriver&gt; have content (i.e. Open Source Automation Testing Tool.).</li>
<li>&lt;qtp&gt; does not have any content.</li>
<li><strong>type</strong> is an attribute of the element and it will give extra information about the element.</li>
</ol>
<div class="post-video"><iframe loading="lazy" title="Writing Dynamic XPath in Selenium WebDriver - Part 2" width="1165" height="655" src="https://www.youtube.com/embed/5kUVk4u3JMk?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<strong>XPath</strong> is a way of identifying the element on web page. In simple words, finding address of an element on the web page. You can use so many ways to identify the element using XPath. In the XML, starting node is called as root node or context node.</p>
<p><strong>XPath in Selenium Web Driver has 2 types to identify the element:</strong></p>
<ol>
<li>Absolute XPath</li>
<li>Relative XPath</li>
</ol>
<h3><strong>1.1 Absolute XPath:</strong></h3>
<ol>
<li>Absolute XPath starts with the root/context node (i.e. html) as html is the starting tag of any web application or with the single forward slash(i.e. / )</li>
<li>Writing Absolute XPath is very easy.</li>
<li>It identifies the element very fast.</li>
<li>Apart from the advantages, there are few disadvantages also.
<ul>
<li>You can not recollect or remember for which element you have written this XPath.</li>
<li>This XPath may broke once an extra element is added in between or an element is removed in between.</li>
</ul>
</li>
</ol>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/absoluteXpath.png"><img decoding="async" loading="lazy" class="size-full wp-image-490 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/absoluteXpath.png" alt="Absolute Xpath" width="1349" height="586" srcset="https://automationtesting.in/wp-content/uploads/2016/12/absoluteXpath.png 1349w, https://automationtesting.in/wp-content/uploads/2016/12/absoluteXpath-300x130.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/absoluteXpath-768x334.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/absoluteXpath-1024x445.png 1024w" sizes="(max-width: 1349px) 100vw, 1349px" /></a></p>
<p>in the above image the absolute XPath is :</p>
<p><strong>html/body/section/div/div/div[1]/form/div[1]/div[1]/input</strong></p>
<p>we can observe some of the div tags had [1] as suffix. It indicates that if a parent node have the multiple same child nodes, then this number indicates the child number. In this case this is the first div in the child nodes.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<strong>1.2 Relative XPath:</strong></p>
<ol>
<li>Relative XPath starts with any of the element which we want.</li>
<li>Relative XPath will not starts with the root node.</li>
<li>Writing Relative XPath is bit time consuming.</li>
<li>The chances of failing Relative XPath is very less i.e. the way we construct the XPath.</li>
<li>It will start with the double forward slashes i.e.(i.e. // )</li>
<li>It will not be long as absolute XPath.</li>
</ol>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpath.png"><img decoding="async" loading="lazy" class="size-full wp-image-491 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpath.png" alt="Relative Xpath" width="1914" height="952" srcset="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpath.png 1914w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpath-300x149.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpath-768x382.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpath-1024x509.png 1024w" sizes="(max-width: 1914px) 100vw, 1914px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//*[@id=&#8217;basicBootstrapForm&#8217;]/div[1]/div[1]/input</strong></p>
<p>Here, XPath starts from “<strong>form</strong>” tag to identify the element. We can observe a ‘<strong>*</strong>’ after the double forward slash, that indicates it might be any element in the XML. It will search all the elements in the XML. To fasten the search of the element we can use the specific element tag instead of this ‘<strong>*</strong>’.</p>
<p>Here, in this example we can replace the ‘<strong>*</strong>’ with “form” tag as the XPath is starting from the “<strong>form</strong> ” tag. It searches all the <strong>form</strong> tags for the element instead of all the tags.</p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathWithoutStar.png"><img decoding="async" loading="lazy" class="size-full wp-image-502 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathWithoutStar.png" alt="relativeXpathWithoutStar" width="1916" height="960" srcset="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathWithoutStar.png 1916w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathWithoutStar-300x150.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathWithoutStar-768x385.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathWithoutStar-1024x513.png 1024w" sizes="(max-width: 1916px) 100vw, 1916px" /></a></p>
<p>We can identify the elements using attributes in the Relative XPath. Tags may contain attributes to specify what kind of element it is. A tag can contain a single attribute or multiple attributes.</p>
<p><strong>By using below methods we can identify the elements uniquely:</strong></p>
<ol>
<li>Single Attribute</li>
<li>Multiple Attributes</li>
<li>Contains</li>
<li>Starts-With</li>
<li>Text</li>
<li>Ancestor</li>
<li>Preceding</li>
<li>Descendant</li>
<li>Following</li>
</ol>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<span style="color: #0000ff;"><strong>Single Attribute:</strong></span></p>
<p>By using single attribute also, we can identify the element.</p>
<p><strong>//tagName[@attribute=&#8217;attributValue&#8217;]</strong></p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithSingleAttribute.png"><img decoding="async" loading="lazy" class="size-full wp-image-492 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithSingleAttribute.png" alt="relativeXpathwithSingleAttribute" width="1915" height="938" srcset="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithSingleAttribute.png 1915w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithSingleAttribute-300x147.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithSingleAttribute-768x376.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithSingleAttribute-1024x502.png 1024w" sizes="(max-width: 1915px) 100vw, 1915px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//input[@name=&#8217;firstName&#8217;]</strong></p>
<p><span style="color: #0000ff;"><strong>Multiple Attributes:</strong></span></p>
<p>Sometimes single attribute may not help to identify the element. Then we can make use of multiple attributes to identify the element uniquely on the web page.</p>
<p><strong>//tagname[@attribute1=&#8217;attribute1Value  and @attribute2 = &#8216;attribute2Value&#8217;] or</strong></p>
<p><strong>//tagname[@attribute1=&#8217;attribute1Value][@attribute2 = &#8216;attribute2Value&#8217;]</strong></p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithMultipleAttributes.png"><img decoding="async" loading="lazy" class="size-full wp-image-493 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithMultipleAttributes.png" alt="relativeXpathwithMultipleAttributes" width="1913" height="955" srcset="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithMultipleAttributes.png 1913w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithMultipleAttributes-300x150.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithMultipleAttributes-768x383.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathwithMultipleAttributes-1024x511.png 1024w" sizes="(max-width: 1913px) 100vw, 1913px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//input[@name=&#8217;firstName&#8217;  and @placeholder = &#8216;First name&#8217;] or</strong></p>
<p><strong>//input[@name=&#8217;firstName&#8217;][@placeholder = &#8216;First name&#8217;]</strong></p>
<p><span style="color: #0000ff;"><strong>Contains:</strong></span></p>
<p>We can use contains method to identify the element.</p>
<p><strong>//tagName[contains(@attribute,&#8217;partialAttributeValue/fullAttributeValue&#8217;)]</strong></p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingContains.png"><img decoding="async" loading="lazy" class="size-full wp-image-494 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingContains.png" alt="relativeXpathUsingContains" width="1916" height="959" srcset="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingContains.png 1916w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingContains-300x150.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingContains-768x384.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingContains-1024x513.png 1024w" sizes="(max-width: 1916px) 100vw, 1916px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//input[contains(@name,&#8217;first&#8217;)]</strong></p>
<p><span style="color: #0000ff;"><strong>Starts-With:</strong></span></p>
<p>We can use starts-with method to identify the element.</p>
<p><strong>//tagName[starts-with(@attribute,&#8217;partialAttributeValue/fullAttributeValue&#8217;)]</strong></p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingStartsWith.png"><img decoding="async" loading="lazy" class="size-full wp-image-495 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingStartsWith.png" alt="relativeXpathUsingStartsWith" width="1914" height="959" srcset="https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingStartsWith.png 1914w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingStartsWith-300x150.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingStartsWith-768x385.png 768w, https://automationtesting.in/wp-content/uploads/2016/12/relativeXpathUsingStartsWith-1024x513.png 1024w" sizes="(max-width: 1914px) 100vw, 1914px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//input[starts-with(@name,&#8217;first&#8217;)]</strong><br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<span style="color: #0000ff;"><strong>Text:</strong></span></p>
<p>We can use text method to identify the element.</p>
<p><strong>//tagName</strong></p>
<p>&nbsp;</p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/TextMethod-XPath-in-Selenium-WebDriver.png"><img decoding="async" loading="lazy" class="size-full wp-image-496 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/TextMethod-XPath-in-Selenium-WebDriver.png" alt="TextMethod XPath in Selenium WebDriver" width="719" height="353" srcset="https://automationtesting.in/wp-content/uploads/2016/12/TextMethod-XPath-in-Selenium-WebDriver.png 719w, https://automationtesting.in/wp-content/uploads/2016/12/TextMethod-XPath-in-Selenium-WebDriver-300x147.png 300w" sizes="(max-width: 719px) 100vw, 719px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//label</strong></p>
<p>&nbsp;</p>
<p><span style="color: #0000ff;"><strong>Ancestor:</strong></span></p>
<p>Selects all ancestors (parent, grandparent, etc.) of the current node.</p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/AncestorMethod-XPath-in-Selenium-WebDriver.png"><img decoding="async" loading="lazy" class="size-full wp-image-497 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/AncestorMethod-XPath-in-Selenium-WebDriver.png" alt="AncestorMethod XPath in Selenium WebDriver" width="971" height="416" srcset="https://automationtesting.in/wp-content/uploads/2016/12/AncestorMethod-XPath-in-Selenium-WebDriver.png 971w, https://automationtesting.in/wp-content/uploads/2016/12/AncestorMethod-XPath-in-Selenium-WebDriver-300x129.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/AncestorMethod-XPath-in-Selenium-WebDriver-768x329.png 768w" sizes="(max-width: 971px) 100vw, 971px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//label</strong></p>
<p>//ancestor::div</p>
<p><span style="color: #0000ff;"><strong>Preceding:</strong></span></p>
<p>Selects all nodes that appear before the current node in the document, except ancestors, attribute nodes and namespace nodes.</p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/PrecedingMethod-XPath-in-Selenium-WebDriver.png"><img decoding="async" loading="lazy" class="size-full wp-image-498 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/PrecedingMethod-XPath-in-Selenium-WebDriver.png" alt="PrecedingMethod XPath in Selenium WebDriver" width="904" height="391" srcset="https://automationtesting.in/wp-content/uploads/2016/12/PrecedingMethod-XPath-in-Selenium-WebDriver.png 904w, https://automationtesting.in/wp-content/uploads/2016/12/PrecedingMethod-XPath-in-Selenium-WebDriver-300x130.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/PrecedingMethod-XPath-in-Selenium-WebDriver-768x332.png 768w" sizes="(max-width: 904px) 100vw, 904px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//label</strong></p>
<p>//preceding::div</p>
<p><span style="color: #0000ff;"><strong>Descendant:</strong></span></p>
<p>Selects all descendants (children, grandchildren, etc.) of the current node.</p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/DescendantMethod-XPath-in-Selenium-WebDriver.png"><img decoding="async" loading="lazy" class="size-full wp-image-499 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/DescendantMethod-XPath-in-Selenium-WebDriver.png" alt="DescendantMethod XPath in Selenium WebDriver" width="904" height="392" srcset="https://automationtesting.in/wp-content/uploads/2016/12/DescendantMethod-XPath-in-Selenium-WebDriver.png 904w, https://automationtesting.in/wp-content/uploads/2016/12/DescendantMethod-XPath-in-Selenium-WebDriver-300x130.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/DescendantMethod-XPath-in-Selenium-WebDriver-768x333.png 768w" sizes="(max-width: 904px) 100vw, 904px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//*[@id=&#8217;basicBootstrapForm&#8217;]//descendant::div</strong></p>
<p><span style="color: #0000ff;"><strong>Following:</strong></span></p>
<p>Selects everything in the document after the closing tag of the current node.</p>
<p><strong>Example:</strong></p>
<p><a href="https://automationtesting.in/wp-content/uploads/2016/12/FollowingMethod-XPath-in-Selenium-WebDriver.png"><img decoding="async" loading="lazy" class="size-full wp-image-500 aligncenter" src="https://automationtesting.in/wp-content/uploads/2016/12/FollowingMethod-XPath-in-Selenium-WebDriver.png" alt="FollowingMethod XPath in Selenium WebDriver" width="896" height="406" srcset="https://automationtesting.in/wp-content/uploads/2016/12/FollowingMethod-XPath-in-Selenium-WebDriver.png 896w, https://automationtesting.in/wp-content/uploads/2016/12/FollowingMethod-XPath-in-Selenium-WebDriver-300x136.png 300w, https://automationtesting.in/wp-content/uploads/2016/12/FollowingMethod-XPath-in-Selenium-WebDriver-768x348.png 768w" sizes="(max-width: 896px) 100vw, 896px" /></a></p>
<p>In the example, the relative XPath is:</p>
<p><strong>//*[@id=&#8217;basicBootstrapForm&#8217;]//following::div</strong></p>
<p><strong>Conclusion:</strong></p>
<p>Here the conclusion is, need to identify the element uniquely on the web page to interact with exactly. The above are the only examples to demonstrate. Those XPath will vary depends on the application and how the XML is written.</p>
<p>Please watch youtube video for better understanding.</p>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-489" data-postid="489" class="themify_builder_content themify_builder_content-489 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/xpath-selenium-webdriver/">XPath in Selenium WebDriver</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/xpath-selenium-webdriver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Selenium WebDriver Locators</title>
		<link>https://automationtesting.in/selenium-webdriver-locators/</link>
					<comments>https://automationtesting.in/selenium-webdriver-locators/#respond</comments>
		
		<dc:creator><![CDATA[Krishna Sakinala]]></dc:creator>
		<pubDate>Sat, 10 Dec 2016 12:33:46 +0000</pubDate>
				<category><![CDATA[Selenium - C#]]></category>
		<category><![CDATA[Selenium - Java]]></category>
		<category><![CDATA[different types of locators in selenium]]></category>
		<category><![CDATA[locator]]></category>
		<category><![CDATA[locators]]></category>
		<category><![CDATA[locators in selenium]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[selenium locators]]></category>
		<category><![CDATA[Selenium Webdriver]]></category>
		<category><![CDATA[Webdriver]]></category>
		<category><![CDATA[webdriver locators]]></category>
		<guid isPermaLink="false">http://automationtesting.in/?p=396</guid>

					<description><![CDATA[<p>Selenium WebDriver Locators will discuss about the different kinds of locators which are available in the selenium webdriver. The basic use of locator is to identify the element on the web page uniquely. All the elements which are there on the webpage are called WebElements in selenium webdriver. Below are the webdriver supported locators: ID [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-webdriver-locators/">Selenium WebDriver Locators</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img src='http://automationtesting.in/wp-content/uploads/2016/12/SELENIUM-WEBDRIVER-LOCATORS.png'></p><p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Selenium WebDriver Locators will discuss about the different kinds of locators which are available in the selenium webdriver. <strong>The basic use of locator is to identify the element on the web page uniquely</strong>. All the elements which are there on the webpage are called <strong>WebElements</strong> in selenium webdriver.</p>
<div class="post-video"><iframe loading="lazy" title="Selenium Webdriver Locators" width="1165" height="874" src="https://www.youtube.com/embed/z-ByVlz5b3A?wmode=transparent&#038;fs=1"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p><strong>Below are the webdriver supported locators:</strong></p>
<ol>
<li>ID</li>
<li>ClassName</li>
<li>TagName</li>
<li>Name</li>
<li>LinkText</li>
<li>Partial LinkText</li>
<li>CSS Selector</li>
<li>XPath</li>
</ol>
<p>Now we will discuss all these things in detail.</p>
<p><strong>ID:</strong></p>
<p>This is the most efficient and preferred way to locate an element. This is one of the attributes to the tags which are used to develop the application. The concept of putting ID to an element is to identify the element uniquely. But developers may put or may not put the IDs to the tags. If we use IDs to locate the elements, then the identifying the element is accurate and fast.</p>
<p>Sample HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input id=&quot;datepicker2&quot; class=&quot;is-datepick&quot; type=&quot;text&quot;/&gt;
</pre>
<p>The above code will indicate a textbox on the web page. If I want to interact with this text box we can use the below code.</p>
<p>Selenium Code:</p>
<pre class="brush: java; title: ; notranslate">
driver.findElement(By.id(&quot;datepicker2&quot;));
</pre>
<p><strong>ClassName:</strong></p>
<p>This is also one of the attributes to the tags which are used to develop the application. But the basic motto of using a class is to apply some style to the element. There is a chance of using the same class name to different type of elements to apply the same style. So, this attribute is not unique to identify the elements. But combination of classes can be used to identify the element.</p>
<p>Sample HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input id=&quot;datepicker2&quot; class=&quot;is-datepick&quot; type=&quot;text&quot;/&gt;
</pre>
<p>The above code will indicate a textbox on the web page. If I want to interact with this text box we can use the below code.</p>
<p>Selenium Code:</p>
<pre class="brush: java; title: ; notranslate">
driver.findElement(By.className(&quot;is-datepick&quot;));
</pre>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<strong>TagName:</strong></p>
<p>By using tagName also we can identify the elements in selenium webdriver. But there is a chance of having more elements with the same tag name. So it is very difficult to identify a single element using tag name. But if you want to identify more than an element which is having the same tag name then we can go with tag name.</p>
<p>Sample HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input id=&quot;datepicker2&quot; class=&quot;is-datepick&quot; type=&quot;text&quot;/&gt;
</pre>
<p>Selenium Code:</p>
<pre class="brush: java; title: ; notranslate">
driver.findElements(By.tagName(&quot;input&quot;));
</pre>
<p>Here it might return more than one element as there is a chance of more ‘input’ elements on the page. It is not a good practice to identify single element using tagName always. It is very helpful while finding more elements.</p>
<p><strong>Name:</strong></p>
<p>This is also one of the attributes to the tags which are used to develop the application. But this is not mandatory to any tag. This will give just an extra information about the tag.</p>
<p>Sample HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input id=&quot;datepicker2&quot; name=&quot;enableddatepicker&quot; type=&quot;text&quot;/&gt;
</pre>
<p>Selenium Code:</p>
<pre class="brush: java; title: ; notranslate">
driver.findElements(By.name(&quot;enableddatepicker&quot;));
</pre>
<p><strong>LinkText:</strong></p>
<p>This is also one of the ways to identify the element. But by using this locator we can not locate all kind of elements. By using this we can identify only the links available on the web page. A link is an anchor tag on a web page. Here we need to use all the link text to identify the element.</p>
<p>Sample HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;Register.html&quot;&gt;Register&lt;/a&gt;
</pre>
<p>The above code will indicate a link on the web page. If I want to click/interact that link we can use the below code.</p>
<p>Selenium Code:</p>
<pre class="brush: java; title: ; notranslate">
driver.findElement(By.linkText(&quot;Register&quot;));
</pre>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<strong>Partial LinkText:</strong></p>
<p>This is an extension to the previous one. If you are not sure of the entire link text or want to use only part of the link text, you can use this locating mechanism to identify the link element. If more than an element containing the part of the text equal then you can identify more elements using this locator like tagName.</p>
<p>Sample HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;Register.html&quot;&gt;Register&lt;/a&gt;
</pre>
<p>The above code will indicate a link on the web page. If I want to click/interact that link we can use the below code.</p>
<p>Selenium Code:</p>
<pre class="brush: java; title: ; notranslate">
driver.findElement(By.partialLinkText(&quot;Regi&quot;));
</pre>
<p><strong>XPath:</strong></p>
<p>XPath (XML Path Language), is a query language for selecting nodes from an XML document. The XPath language is based on a tree representation of the XML document, and provides the ability to navigate around the tree, selecting nodes by a variety of criteria.</p>
<p>XML contain one or more elements/tags/nodes, an element may contain content/data or may contain other elements as child nodes. Each element should have starting tag and ending tag. The element content will reside in between these two tags. Apart from the content each tag may have attributes. These attributes will give extra information about the element. We can locate any kind of element using XPath.</p>
<p>Can find more information at <a href="https://automationtesting.in/xpath-selenium-webdriver/">XPath in Selenium WebDriver</a></p>
<p><strong>CSS Selector:   </strong></p>
<p>This is also similar to XPath. Here also we will use different kind of ways to identify an element. But this is slightly faster than the XPath. We can locate any kind of element using Css Selector.</p>
<p>Can find more information at <a href="https://automationtesting.in/css-selector-selenium-webdriver/">CSS Selector in Selenium WebDriver</a></p>
<p>Please watch the YouTube video for this blog for better understanding.<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<!-- Responsive --><br />
<ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9173866185064071" data-ad-slot="6638633547" data-ad-format="auto"></ins><br />
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
<div id="themify_builder_content-396" data-postid="396" class="themify_builder_content themify_builder_content-396 themify_builder themify_builder_front">

	</div>
<!-- /themify_builder_content --><p>The post <a rel="nofollow" href="https://automationtesting.in/selenium-webdriver-locators/">Selenium WebDriver Locators</a> appeared first on <a rel="nofollow" href="https://automationtesting.in">Selenium Webdriver Appium Complete Tutorial</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://automationtesting.in/selenium-webdriver-locators/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
