Does the example in the Cascadia readme not work for you?
julia> using Cascadia, Gumbo, HTTP
julia> r = HTTP.get("https://caps.fool.com/Ticker/MSFT.aspx");
julia> h = parsehtml(String(r.body));
julia> qs = eachmatch(Selector("#tickerRating"), h.root)
1-element Vector{HTMLNode}:
HTMLElement{:div}:<div class="subtle marginT" id="tickerRating">
CAPS Rating:
<img alt="4 out of 5" class="capsStarRating" id="ctl00_ctl00_ctl00_ctl00_cphContent_cphContent_cphContent_cphCrossBar_TickerHeader_ctlLargeImageStars" src="https://g.foolcdn.com/art/ratings/stars/trans/4stars-trans-lg.png" title="4 Stars: Favorite"/>
</div>
Where it seemed from cursory inspection of the page source that the star rating is in the tickerRating
div. You can then split the result like
julia> first(split(split(string(qs[1]), "title=\"")[2], ":"))
"4 Stars"