Simple ways to approach a complex matter! Well done Naveen. I worked on a past project where all of the latest technology was incorporated..NOTHING worked!!
Hi Naveen, hats off to your web table explanation. I have seen so many courses but the web table concept is not so clear. After watching this video, I am so happy that now I am very much clear in web table handling. Thank you so much. Keep it up.
Hi Naveen, explained very well.. it could be better if you would have explained how you can pass the td or anchor value dynamically to that xpath by creating some method. And some more explanation when user wants to verify a perticular row values or column vlaues..
Hi Naveen In one of my recent interview the question was what if the table dynamically changes it’s columns like if new columns are added and referring to data in that column I need to select the checkbox Could you help me with logic for these, I don’t want to change the XPath though new columns are getting added
Hi Naveen, Thanks for your wonderful videos which really help a person to think about automation. Your explanation are superb which help people to understand any things about Java or selenium very easily.....Thanks bro for nice work which you do for people.....god bless you always
Hi Naveen, appreciate all your tutorials, full of knowledge as always, I wanted to share my interview experience, I recently attended an interview, they asked me this tricky question and I could not give the exact solution hope you can help me with this : "We have a big web table in our webpage consisting of lots of rows which are visible only by scrolling down vertical scroller in that table (not webpage scroller) each row is defined as separate table tag in html, how do i get to view the last row in that big table and print text from it?" My answer was we can use javascript executor and call scrollintoview method, but he said it works only at page level not for scrolling table inside the webpage. Appreciate your comments...
it's very good session Naveen thanks but am requesting you to do one video for ancestor,descendant,following siblings and how to identified row all elements(all columns in a row) using only one xpath ?
Hi Sir, Can I know how to write xpath for a checkbox based on its two preceding siblings. In your example only, if I want to write xpath for checkbox based on both Name and Company, how can we write? please explain.
It was really amazing ...I have one question sir....Where did you learn all this?? I want to do this all by myself but i cannot think like you sir..I want to do that without taking reference from other codes....I just want to make my own code with my own logic...What should i do for that??? Can you please help me out??
Hi Naveen, This Video is really useful for me... But could you please explain one or more scenarios for dynamic web Table with different XPath axes methods..
Hi Naveen.....For the second approach of customized Xpath using siblings, what if the name we are looking for is not visible in the table. The name may appear somewhere down at the bottom of the table and we have to use scroll bar to see that name. In that case, if the name is not visible, then it may throw ElementNotFound exception. How do we handle such scenarios where we can scroll down to the required name?
its a very rare case, but still u can scroll down using javascript executor using scrolling view method to that specific element to make it visible first, then use custom path using siblings.
Hi Naveen, Thanks for this video. Could you please let us know how do we handle handle a web table whose columns load as we scroll the page and so does rows. And if we have to update the [td ] of a row, in say some 5th page, how do we handle this.
Hi naveen , I am not able to locate the contacts button because I am not able to find the frame in the CRM website example that you have used. Can you please help me out how can we find the frame within the new CRM webpage ?
line no 48: the range of for loop is from 4 to 7. If we are truely considering the dynamic scenario then we will face issue again. Suppose next time we visit the page then 50 rows appear in the table then i think Method 1 will not be suitable. Although I am very clear with method 2 approach but Naveen is there any way to overcome challenge of method 1?? Posted on: 13March 2022
Hi Naveen,thanks for the tutorial,my question is how about if i do not know the number of raws what do i do, and another question is how do we deal with a for loop that loops on empty columns and raws?please assist i am actually blocked ,the table i am looping trough is having hidden raws and columns and my script is failing
Hi Sir, I have a small doubt, When you are writing customized XPath you are using a single slash in front of the parent element may I know the reason? When I am using a single slash in front of preceding elements also it's working fine but you are using double slash there! Thank You!
Hi naveen , I hope you be able to reply me, If i wish to add more rows, is there any way, just like arrays.length or string.length() so that i don't have to hard code terminating condition in loop
Hi Naveen thank u for all your videos ....one question in this video 17 min 21 seconds u r correcting one xpath there u wrote tr["+i+"] ..can't we write tr[i] directly
hi sir thanks for your video,please clear my one doubt if in web table duplicate name is available and unique transation id is available then how to verify the data on the basics of the transation id please let me know REPLY
Hi Naveen, I am using chropath in firefox 67.0.4. It works fine for other webapps. But in CRMPRO site, its working fine in login page .when it moves to next page, it is not inspecting any element. Please could you help me with it.
Hi Naveen, I am trying to use this logic of webtable in POM but i am getting "Cannot invoke "com.hrm.qa.pages.Recruitment.clickOnCheckBox()" because "this.recruitment" is null" error, I am not getting what will be the return when I click in checkbox. Can u pls help me ?
hi Naveen i have a doubt if that checkbox is at 7th place instead of 3 then whatever xpath is there will be one parent and 5 preceeding sibling then how will this xpath works?
Hi Naveen, if web table has lots of data and has pagination, just like your Contacts page have, will this way may I resolve the problem? Because of how many paginations is there and which pagination number the actual search data will be present is unpredictable in runtime. Could you suggest please. Thanks
Hi Naveen, you mentioned in earlier tutorials that we should avoid using absolute Xpath, but now in this tutorial you are using absolute Xpath, why is that?
Hi Naveen, One more question. What if there is no Scrolling down option available but instead developers have provided the pagination option like - Previous, 1,2,3... Next, etc. with each page holding 10 records. And if the element that we are looking for appears on the 5th page. Fortunately, in one of my projects, developers have provided the pagination option and have also given a Search textbox above the table using which we can search the record directly and then interact with it. This has made my life easier. But what if there is no search textbox and the user has to click on the Page Numbers to look for the element of his interest. Then how do we handle such case.
I am facing same problem. I want to search text from 5th page 2 column..then how to use pagination.I tried many but not getting result. If u got answer then tell me.
If I'm having one output in console. I need to found exact name in the table and I have to click. For eg if I have a printed "test test" in the console using get text. Now I have pick up the value from the console and I need to search in the table and click.
Hi naveen can you guide me how do i handle a web table which has 1000 of records and all records are in same page. If i scroll down more and more data keeps on loading which also takes some 4 to 5 seconds to load.Please guide me i think only you can help me.
Hi Naveen, i facing issue with following xpath //td[text()='Heavyweight Coated Paper'] in this xpath the text 'Heavyweight Coated Paper' is present but the problem is it has  , so it is not recognized becaouse of that. I can use contains instead of text equal, but the problem the patter of the text we search may be sub set another text in the same td exp: i am searching for 'Heavyweight Coated Paper ' there is other text like "super Heavyweight Coated Paper', so contains dose not work here. So could you please let me know how to search exact text which has   Thanks, Gavi
Hey i know this comment is one year old but i hope u still read this, when i m trying to do the same thing it only gives me one td and one tr i dont have any input or nothing. So in this case i m supposed to do this parent sibling thing??? Hope u reply
Hi Naveen can u explain this also , we have web table like u shown in that table have first name lable and last name labels , then subject names also there, will give one full name like LOKESH Is a first name REDDY Is last name, you just find the name is there in that table or not, if name there you have to print name with subject marks also can u do this program for me , u can take any example
Hi Naveen, I m trying to execute same concept on "ui.cogmento.com/contacts" by using xpath driver.findElement(By.xpath("//td[contains(text(),'Test 2 Test 2')]/parent::*//preceding-sibling::td//input[@type='checkbox'])")).click(); This xpath is showing proper as highlighted on elements section of browser. But, when i m executing script, at that time its not finding this element. Thanks in advance
The second method is obvius better but.... only works when you have some data in the table?.... what if i want to send text to a TD instead of clicking a check box? how can i locate the first empty TD of the table? using driver.findElement(By.xpath("//a[contains(text(),' ')].......... ???
Hi, why there is a single / before parent and // before preceding-sibling. What is the difference . Why can’t we use // before parent axes. Thanks in advance
Hi Naveen, I wanted to select the checkboxes based on the company name, I gave two records the same company name say 'Natural ltd' and I want to select both of them, how I can do that?
Impressed with your English, compare to other paid selenium courses your explanation is far better and clean.
Simple ways to approach a complex matter! Well done Naveen. I worked on a past project where all of the latest technology was incorporated..NOTHING worked!!
So easy and very clear explanation...a never forgetting sessions 👏👏👏
Sharing knowledge is the first step to humanity 😘
Hi Naveen---Your teaching style is excellent...I really learn many things from your videos. Keep it up
Hi Naveen, hats off to your web table explanation. I have seen so many courses but the web table concept is not so clear. After watching this video, I am so happy that now I am very much clear in web table handling. Thank you so much. Keep it up.
This is awesome way of handling dynamic table🙏👌
Naveen your tutorials are very focused and clear!! Thanks for all your hard work!!
Thank you so much Naveen for providing these very very useful videos, your way of explaining is excellent....I learnt a lot from your videos.
Hi Naveen,
Who ever ask me for selenium tutorial first I take your name only... as your the best 1
Hello Naveen sir, Your simple and clear techniques help me to understand the topic. Keep it up sir.
U r legend in automation explanation, great sibling😍
This was in fact a superb explanation. I think this video has made handling dynamic table seem like a feather. Appreciated.
First method worked for me. Thank you for this approach 😊
Hi Naveen, your teaching style is outstanding. I learnt a lot by watching your page object model video. Keep it up great work!
Superb Naveen!! Very very useful tricks you are given for handling dynamic table.. This help me a lot in my project. Thank you very much😊
Hi Naveen ,
your teaching is amazing
This video was very useful for me to find a solution, thank you so much!
Absolutely brilliant approach!! Thank you for putting it up in such a simple manner!!
Great explanation sir..
Thanku so much
Hi Naveen.....your teaching is excellent.
Thank you Naveen 👍
Hi Naveen, explained very well.. it could be better if you would have explained how you can pass the td or anchor value dynamically to that xpath by creating some method. And some more explanation when user wants to verify a perticular row values or column vlaues..
This video helped for me so much thank u bro 😍
Hi Naveen
In one of my recent interview the question was what if the table dynamically changes it’s columns like if new columns are added and referring to data in that column I need to select the checkbox
Could you help me with logic for these, I don’t want to change the XPath though new columns are getting added
Go with *contains* keyword
thank you so much sir... perfectly explained
Hi Naveen,
Thanks for your wonderful videos which really help a person to think about automation.
Your explanation are superb which help people to understand any things about Java or selenium very easily.....Thanks bro for nice work which you do for people.....god bless you always
@Shivanshu Sharma use this : String name= driver.findElement(By.xpath(before_xpath + I + After_xpath)).getText();
@Shivanshu Sharma use this :
String before_xpath= "//*[@id=\"vContactsForm\"]/table/tbody/tr[";
String after_xpath= "]/td[1]/input";
for (int i=5; i
@Shivanshu Sharma u didn't appended i in string name , check once
Hi Naveen, appreciate all your tutorials, full of knowledge as always, I wanted to share my interview experience, I recently attended an interview, they asked me this tricky question and I could not give the exact solution hope you can help me with this :
"We have a big web table in our webpage consisting of lots of rows which are visible only by scrolling down vertical scroller in that table (not webpage scroller) each row is defined as separate table tag in html, how do i get to view the last row in that big table and print text from it?"
My answer was we can use javascript executor and call scrollintoview method, but he said it works only at page level not for scrolling table inside the webpage.
Appreciate your comments...
did you get the answer for this question?
It goes like this :
EventFiringWebdriver efb = new EventFiringWebdriver(driver);
efb.executeScript("document.querySelector('').scrollTop=500");
just crispy and clear
You are amazing bro....keep uploading videos....u explain every concept very clearly
Really helpful, appreciate your work .
Amazing ....... thanks Naveen
it's very good session Naveen thanks but am requesting you to do one video for ancestor,descendant,following siblings and how to identified row all elements(all columns in a row) using only one xpath ?
Its very useful.......thank you for sharing this video
Hi Sir,
Can I know how to write xpath for a checkbox based on its two preceding siblings. In your example only, if I want to write xpath for checkbox based on both Name and Company, how can we write? please explain.
Really nice explanation
It was really amazing, & very usefull vedio...thank yow so much..Sir.
thanks.
I will use today this concept in my code. thanks again .
pls make video on complex part
thanku so much sir...this video is enough to crack interview?
It was really amazing ...I have one question sir....Where did you learn all this?? I want to do this all by myself but i cannot think like you sir..I want to do that without taking reference from other codes....I just want to make my own code with my own logic...What should i do for that??? Can you please help me out??
nice explain keep uploading
Hi Naveen,
This Video is really useful for me... But could you please explain one or more scenarios for dynamic web Table with different XPath axes methods..
Helps me a lot.
Excellent explanation , really helpful
Hi Naveen.....For the second approach of customized Xpath using siblings, what if the name we are looking for is not visible in the table. The name may appear somewhere down at the bottom of the table and we have to use scroll bar to see that name. In that case, if the name is not visible, then it may throw ElementNotFound exception. How do we handle such scenarios where we can scroll down to the required name?
its a very rare case, but still u can scroll down using javascript executor using scrolling view method to that specific element to make it visible first, then use custom path using siblings.
excellent tutorial.
Nicely Explained :-) Keep Teaching.
Thanks bro for your smart solution
Hi Naveen, Is there any customized xpath for selecting an element in 3rd row and 3rd column? or we only use absolute xpath for that?
Hi Naveen, Thanks for this video. Could you please let us know how do we handle handle a web table whose columns load as we scroll the page and so does rows. And if we have to update the [td ] of a row, in say some 5th page, how do we handle this.
nice explaination but i have one query in this like if you have 3 " test2 test2 " names in one record how can i handle it ?
Hi naveen you are use index in xpath but they can change, i think we should not use index? But second method is good👍👍
This is explicitly for webtable and calendar handling. Just the way of breaking xpath.
Hi naveen , I am not able to locate the contacts button because I am not able to find the frame in the CRM website example that you have used. Can you please help me out how can we find the frame within the new CRM webpage ?
line no 48: the range of for loop is from 4 to 7. If we are truely considering the dynamic scenario then we will face issue again. Suppose next time we visit the page then 50 rows appear in the table then i think Method 1 will not be suitable.
Although I am very clear with method 2 approach but Naveen is there any way to overcome challenge of method 1??
Posted on: 13March 2022
Nice and very clear
Hi Naveen,thanks for the tutorial,my question is how about if i do not know the number of raws what do i do,
and another question is how do we deal with a for loop that loops on empty columns and raws?please assist i am actually blocked ,the table i am looping trough is having hidden raws and columns and my script is failing
Hello Naveen Sir,
As per interview point of view is 2nd method preferable ?
Can we use it if interviewer asks to handle dynamic webtable?
Hi Sir,
I have a small doubt, When you are writing customized XPath you are using a single slash in front of the parent element may I know the reason? When I am using a single slash in front of preceding elements also it's working fine but you are using double slash there!
Thank You!
single slash represent just inside that element and double slash represent anywhere in the DOM
@@bihari1422 Thank you
Hey naveen you have explained it very well, can you please tell how to write a feature file scenario for same webtable in cucumber
Fantastic! Thanks a lot Naveen!
Hi Naveen, what if we don’t have table with tr and td, instead data is being populated using div??
How to get those table into HashMap.
great explanation
I can not select row value of a JavaScript table.
useful and clear explaination
Thanks Jyoshna!! Keep Learning & Sharing!
Hi Naveen,
Firepath does not exists now. Can you please suggest any other add in.?
Awesome tutorial
Super bro
Hi naveen , I hope you be able to reply me, If i wish to add more rows, is there any way, just like arrays.length or string.length() so that i don't have to hard code terminating condition in loop
Hi Naveen thank u for all your videos ....one question in this video 17 min 21 seconds u r correcting one xpath there u wrote tr["+i+"] ..can't we write tr[i] directly
hi sir thanks for your video,please clear my one doubt if in web table duplicate name is available and unique transation id is available then how to verify the data on the basics of the transation id please let me know
REPLY
How to selecting the grid say some from 4 th column 3rd row to 6th column 7th row and right
click and copy the values .
Hi Naveen, I am using chropath in firefox 67.0.4. It works fine for other webapps. But in CRMPRO site, its working fine in login page .when it moves to next page, it is not inspecting any element. Please could you help me with it.
Hey Naveen its amazing...
but if we have the same contact name then how it will handle that??
than i guess you also need to put one more condition in if loop
if(element.contain("name")&&i=1)
driver.findelement.click
i am not able to login into freecrm.com & access ebay registration page. Are those webpages still available today?
Hi Naveen, I am trying to use this logic of webtable in POM but i am getting "Cannot invoke "com.hrm.qa.pages.Recruitment.clickOnCheckBox()" because "this.recruitment" is null" error, I am not getting what will be the return when I click in checkbox. Can u pls help me ?
hi Naveen i have a doubt if that checkbox is at 7th place instead of 3 then whatever xpath is there will be one parent and 5 preceeding sibling then how will this xpath works?
Hi Naveen,
How i can browse thru all the available videos in a sequence
Please reply..
Hi Naveen,
if web table has lots of data and has pagination, just like your Contacts page have, will this way may I resolve the problem? Because of how many paginations is there and which pagination number the actual search data will be present is unpredictable in runtime. Could you suggest please.
Thanks
Hi Naveen, you mentioned in earlier tutorials that we should avoid using absolute Xpath, but now in this tutorial you are using absolute Xpath, why is that?
sir how we can add entire rows and columns in dynamic table using excel sheet can you please explain us!!!
Hi Naveen,
One more question.
What if there is no Scrolling down option available but instead developers have provided the pagination option like - Previous, 1,2,3... Next, etc. with each page holding 10 records.
And if the element that we are looking for appears on the 5th page.
Fortunately, in one of my projects, developers have provided the pagination option and have also given a Search textbox above the table using which we can search the record directly and then interact with it. This has made my life easier.
But what if there is no search textbox and the user has to click on the Page Numbers to look for the element of his interest.
Then how do we handle such case.
Amol Nawale you answered your own question 😊
I am facing same problem. I want to search text from 5th page 2 column..then how to use pagination.I tried many but not getting result.
If u got answer then tell me.
hi sir
in this xpath after text you are using single slash(/) but after preceding you are using // ---@naveen can you explain this
If I'm having one output in console. I need to found exact name in the table and I have to click. For eg if I have a printed "test test" in the console using get text. Now I have pick up the value from the console and I need to search in the table and click.
Hi Naveen is there any PDF which supports all of your tutorials related to selenium if available please share thanks in advance 😀
Hi naveen can you guide me how do i handle a web table which has 1000 of records and all records are in same page.
If i scroll down more and more data keeps on loading which also takes some 4 to 5 seconds to load.Please guide me i think only you can help me.
Appending 2 strings and creating a path is good but cannot be used in python can you please help
The credentials for freecrm site is not working. It's not taking to homepage. Can you please provide the credentials?
Hi Naveen,
i facing issue with following xpath
//td[text()='Heavyweight Coated Paper']
in this xpath the text 'Heavyweight Coated Paper' is present but the problem is it has  , so it is not recognized becaouse of that.
I can use contains instead of text equal, but the problem the patter of the text we search may be sub set another text in the same td
exp: i am searching for 'Heavyweight Coated Paper ' there is other text like "super Heavyweight Coated Paper', so contains dose not work here.
So could you please let me know how to search exact text which has  
Thanks,
Gavi
@Gavi Pujar .. Hey you can try starts with or ends with keyword instead of contains.
Hi Naveen.........can you explain how to handle webelements having ::before html tag
Hi Naveen.. Good explanation.
But in my test case i have only one to call..then how to write for this ? help us
Thnx in advance
Hey i know this comment is one year old but i hope u still read this, when i m trying to do the same thing it only gives me one td and one tr i dont have any input or nothing. So in this case i m supposed to do this parent sibling thing??? Hope u reply
@@amiereviews5522 whole idea is to uniquely locate the element
Hi Naveen can u explain this also , we have web table like u shown in that table have first name lable and last name labels , then subject names also there, will give one full name like LOKESH Is a first name REDDY Is last name, you just find the name is there in that table or not, if name there you have to print name with subject marks also can u do this program for me , u can take any example
Hi Naveen, nice video. please let me know selenium support salesforce (CRM tool). I need support in salesforce automation through selenium
What if there is no 'a' tag in the second method?
What will happen if someone deletes the preceding record ( contact_id).. in that case will it fail ?? @naveenautomationlabs
Hi Naveen,
I m trying to execute same concept on "ui.cogmento.com/contacts" by using xpath driver.findElement(By.xpath("//td[contains(text(),'Test 2 Test 2')]/parent::*//preceding-sibling::td//input[@type='checkbox'])")).click();
This xpath is showing proper as highlighted on elements section of browser. But, when i m executing script, at that time its not finding this element.
Thanks in advance
The second method is obvius better but.... only works when you have some data in the table?.... what if i want to send text to a TD instead of clicking a check box? how can i locate the first empty TD of the table? using driver.findElement(By.xpath("//a[contains(text(),' ')].......... ???
Hi Naveen,
How to select email I'd with respect to Name in table ??
Hi, why there is a single / before parent and // before preceding-sibling. What is the difference . Why can’t we use // before parent axes. Thanks in advance
You can use both in case of axes.
@@naveenautomationlabs Thank you
Hi Naveen,
I wanted to select the checkboxes based on the company name, I gave two records the same company name say 'Natural ltd' and I want to select both of them, how I can do that?
U can use standard method i.e for loop
Is there anyway to use firepath in firefox 67.0.4?
Hello sir,
is it following sibiling or forward-sibiling? because you pronouncing as forward-sibiling