Reputation: 31
How to select all the child elements of a particular parent element and display it on a loop?
Documentation should I refer to understand which methods to use? Thanks.
<div class="Pitch-sc-1mctasb-0 mPWDj"><div class="Pitch__ElementRow-sc-1mctasb-1 Pitch__PitchRow-sc-1mctasb-2 bjBvcU"><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0_1-66.webp 66w,
/dist/img/shirts/standard/shirt_0_1-110.webp 110w,
/dist/img/shirts/standard/shirt_0_1-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0_1-66.png" srcset="
/dist/img/shirts/standard/shirt_0_1-66.png 66w,
/dist/img/shirts/standard/shirt_0_1-110.png 110w,
/dist/img/shirts/standard/shirt_0_1-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Goalkeeper" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">GKP</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0_1-66.webp 66w,
/dist/img/shirts/standard/shirt_0_1-110.webp 110w,
/dist/img/shirts/standard/shirt_0_1-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0_1-66.png" srcset="
/dist/img/shirts/standard/shirt_0_1-66.png 66w,
/dist/img/shirts/standard/shirt_0_1-110.png 110w,
/dist/img/shirts/standard/shirt_0_1-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Goalkeeper" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">GKP</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"></div></div><div class="Pitch__ElementRow-sc-1mctasb-1 Pitch__PitchRow-sc-1mctasb-2 bjBvcU"><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Defender" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">DEF</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Defender" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">DEF</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Defender" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">DEF</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Defender" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">DEF</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Defender" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">DEF</span></abbr></div></button></div></div><div class="Pitch__ElementRow-sc-1mctasb-1 Pitch__PitchRow-sc-1mctasb-2 bjBvcU"><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Midfielder" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">MID</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Midfielder" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">MID</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Midfielder" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">MID</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Midfielder" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">MID</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Midfielder" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">MID</span></abbr></div></button></div></div><div class="Pitch__ElementRow-sc-1mctasb-1 Pitch__PitchRow-sc-1mctasb-2 bjBvcU"><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Forward" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">FWD</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Forward" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">FWD</span></abbr></div></button></div><div class="Pitch__PitchUnit-sc-1mctasb-3 jDkpw"><button class="PitchPlaceholder__StyledPlaceholder-sc-1jzdtaz-0 jEoHLb"><picture><source type="image/webp" srcset="
/dist/img/shirts/standard/shirt_0-66.webp 66w,
/dist/img/shirts/standard/shirt_0-110.webp 110w,
/dist/img/shirts/standard/shirt_0-220.webp 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px"><img src="/dist/img/shirts/standard/shirt_0-66.png" srcset="
/dist/img/shirts/standard/shirt_0-66.png 66w,
/dist/img/shirts/standard/shirt_0-110.png 110w,
/dist/img/shirts/standard/shirt_0-220.png 220w
" sizes="(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px" alt="" class="Shirt__StyledShirt-k5q8zl-0 hoGPkp"></picture><div data-testid="title" class="PitchPlaceholder__Title-sc-1jzdtaz-1 gAiHPL">Add <abbr title="Forward" class="PitchPlaceholder__Abbr-sc-1jzdtaz-2 ffGrvw"><span class="PitchPlaceholder__Span-sc-1jzdtaz-3 cVbLKM">FWD</span></abbr></div></button></div></div></div>
The main div class: Pitch-sc-1mctasb-0 mPWDj, has 4 div child elements, and under those child elements there are further child elements. I want to get the XPATH seperately and display them under the correct div parent.
Upvotes: 0
Views: 652
Reputation: 2326
You can use WebElement.<Locator Strategy>("<Locator>")
method to get all the child element. Like for shared HTML if you do:
parent = driver.find_element_by_xpath("//div[@class='Pitch-sc-1mctasb-0 mPWDj']") #As class has compound string css selector is failing, used xpath
children = parent.find_elements_by_tag_name("div")
print(len(children))
As there are total 36 divs inside div with class name `Pitch-sc-1mctasb-0 mPWDj. It will print 36.
If you want to filter only selective child divs, modify your locator accordingly.Like below will only select 15 divs with data-testid as title:
parent = driver.find_element_by_xpath("//div[@class='Pitch-sc-1mctasb-0 mPWDj']")
children = parent.find_elements_by_xpath("//div[@data-testid='title']")
print(len(children))
Upvotes: 0
Reputation: 5204
You should use find_elements()
to get the list of elements.
Note: while iterating through a list of elements you night get StaleElementReferenceException
so you must handle the exception.
For your case use:
lst_of_el = driver.find_elements_by_css_selector("div[class^='Pitch-sc'] div")
Upvotes: 1