Scrape in tabs going through all the tabs

I got eys on the previous problem here and didn't find a complete solution.

this site map will go through each of tabs in the page

{"_id":"test","startUrl":["["],"selectors":{"id":"tabs","type":"SelectorElementClick","parentSelectors":["_root"],"selector":"div.product-collateral","multiple":true,"delay":"300","clickElementSelector":".toggle-tabs span","clickType":"clickOnce","discardInitialElements":"do-not-discard","clickElementUniquenessType":"uniqueText"},{"id":"tab_title","type":"SelectorText","parentSelectors":["tabs"],"selector":"li.current span","multiple":false,"regex":"","delay":0},{"id":"tab_content","type":"SelectorText","parentSelectors":["tabs"],"selector":"dd.current","multiple":false,"regex":"","delay":0}]}

and this site map will extract the data on current opened tab only.
{"_id":"test","startUrl":["["],"selectors":{"id":"tabs","type":"SelectorElementClick","parentSelectors":["_root"],"selector":"#product-attribute-specs-table td","multiple":true,"delay":"300","clickElementSelector":".toggle-tabs span","clickType":"clickOnce","discardInitialElements":"do-not-discard","clickElementUniquenessType":"uniqueText"},{"id":"Composition","type":"SelectorText","parentSelectors":["tabs"],"selector":"p:contains('Zusammensetzung')","multiple":false,"regex":"","delay":0}]}

The problem is scraper needs to go through all the tabs and meanwhile scrape the content under each tab.

basically joining the above two sitemaps to work together.

Please someone try and make it happen. it will very helpfull for me and other folks will come here from future. :slight_smile:

Thank you.

Couldn't load your code, but you can try something like this:
{"_id":"atcomhorse","startUrl":[""],"selectors":[{"id":"Click tabs","type":"SelectorElementClick","parentSelectors":["_root"],"selector":"#collateral-tabs","multiple":true,"delay":"1100","clickElementSelector":".toggle-tabs li span","clickType":"clickOnce","discardInitialElements":"discard-when-click-element-exists","clickElementUniquenessType":"uniqueText"},{"id":"Current tab name","type":"SelectorText","parentSelectors":["Click tabs"],"selector":"","multiple":false,"regex":"","delay":0},{"id":"Tab text","type":"SelectorText","parentSelectors":["Click tabs"],"selector":"","multiple":false,"regex":"","delay":0}]}

1 Like

Thank you for quick solution. It's working. But can you guide me to get all the tab to in single row but with multiple columns. current solutions gives multiple rows.

I mean like this
scraped data row | tab1 data | tab 2 data | tab3 data | tab 4 data

Thanks anyway.

Should be possible though it would take some work. Structure would look something like this:

root--> Wrapper for tabs area --> Click on tab1 -> Scrape tab1
                                   --> Click on tab2 -> Scrape tab2
                                   --> Click on tab3 -> Scrape tab3


All the "Click on tabs" need to be under the same wrapper.


Would there be a way to scrape elements inside tabs?
To clarify, I in the same scenario, let's imagine there is a table inside each tab and I want to get the data inside the table.
desired output:
Tab 1 | Table A-row1col1 | Table A-row1col2
Tab 1 | Table A-row2col1 | Table A-row2col2
Tab 2 | Table B-row1col1 | Table A-row1col2
Tab 2 | Table B-row2col1 | Table A-row2col2
How would we go about that?
I tried:

root => Wrapper for tabs area => click on tabs => Scrape tab name
                                               => select elements (table row) => text col 1
                                                                              => text col 2

How did you selected #collateral-tabs