I'm working on a script that will take the src of a website, and take screenshots of relevant parts of the site. More specifically, I'm interested in taking screenshots of posts from a site, including their respective comments and replies.
Currently, I am able to generate all these screenshots as desired, however I am encountering an issue when a given post's content exceeds the length of the Selenium browser window. A sample HTML snippet is below:
<div class="detail word-break">
<p id="contentArea">
Sample text content here. As you can see, the text is inside a p tag
<br>
<br>
...
My issue can be boiled down to wanting to treat each of these text elements as a separate WebElement for the purpose of taking Selenium screenshots
<br>
<br>
Using the XPath selector for "./child::*" on the contentArea element only returns a list of br tags, with no text content inside
...
</p>
</div>
Is it possible to take the WebElement for the contentArea, and subdivide it into smaller WebElements that contain the tagless text so they can be screenshotted individually?
I ended up finding a workaround for my issue. Rather than splitting the post into separate elements, I was instead able to parse out the text and separate each paragraph (i.e. subelement) into a list. Then, using the JS executor, I was able to replace the text of the entire post with just that of each paragraph, and take the screenshots that way.
Hopefully anyone facing a similar issue will find this workaround useful!