I am using Selenium to test a web page that loads data in the background. I need to start looking for web elements AFTER the data is fully loaded. The problem is that you do see data in a browser, but there is a spinning wheel over it that doesn't disappear before data is fully loaded. Basically, I need Selenium to find web elements after the spinning wheel is gone. I am looking at the source code of that page, and here is what I see when the spinning wheel is spinning:
<div class="container-fluid" id="category">
<rdo-overlay _nghost-qjr-14>
<div _ngcontent-qjr-14="" class="rdo-overlay">
<img _ngcontent-qjr-14="" src="/assets/images/loader-sm.gif">
</div>
</rdo-overlay>
</div>
Once the data is fully loaded and the spinning wheel is gone, the word "hidden" is added like this on the third line:
<div class="container-fluid" id="category">
<rdo-overlay _nghost-qjr-14>
<div _ngcontent-qjr-14="" class="rdo-overlay hidden">
<img _ngcontent-qjr-14="" src="/assets/images/loader-sm.gif">
</div>
</rdo-overlay>
</div>
How can I use BeautifulSoap with the above code to check for that "hidden" part of the class name? Or is there a better way in my situation to figure the page is fully loaded?