I have the following piece of html inside a page I loaded using puppeteer and I'm trying to get all the child links (not just direct children, child a
s at any level).
<ul class="ptf">
<li class="pti">
<div data-testid="pagetree-item-expander" class="pe" role="button" tabindex="0" aria-expanded="false"></div>
<a href="/jsw/docs/start” data-testid="atlas_link">kl</a>
<ul class="ptf" style="display:none">
<li class="pti">
<a href="/jsw/docs/what/" data-testid="atlas_link">ij</a>
</li>
<li class="pti">
<a href="/jsw/docs/where/" data-testid="atlas_link">gh</a>
</li>
<li class="pti">
<a href="/jsw/docs/common/" data-testid="atlas_link">ef</a>
</li>
</ul>
<li class="pti">
<div data-testid="pagetree-item-expander" class="pe" role="button" tabindex="0" aria-expanded="false"></div>
<a href="/jsw/docs/ge/" data-testid="atlas_link">cd</a>
<ul class="ptf" style="display:none">
<li class="pti">
<a href="/jsw/docs/wha/" data-testid="atlas_link">ab</a>
</li>
</li>
</ul>
I tried the following but it's not listing down any children. What am I doing wrong?
const links = await page.$x("//*[@id=\"root\"]/div[2]/div/li[5]/ul//a");
for (let i = 0; i < links.length; i++) {
const textContent = await links[i].getProperty("href");
const srcText = await textContent.jsonValue();
console.log(srcText);
}
Context: I'm looking to get URLs of all child links within this link:
Expected outcome: A flat array with the following first 10 URLs:
[“https://support.atlassian.com/jira-software-cloud/docs/get-started-with-advanced-roadmaps/“,
“https://support.atlassian.com/jira-software-cloud/docs/what-is-advanced-roadmaps/“,
“https://support.atlassian.com/jira-software-cloud/docs/where-do-i-find-advanced-roadmaps/“,
“https://support.atlassian.com/jira-software-cloud/docs/common-jira-software-configurations-for-advanced-roadmaps/“, “https://support.atlassian.com/jira-software-cloud/docs/view-a-sample-advanced-roadmaps-plan/“,
“https://support.atlassian.com/jira-software-cloud/docs/create-a-new-plan-in-advanced-roadmaps/“,
“https://support.atlassian.com/jira-software-cloud/docs/how-do-i-navigate-advanced-roadmaps/“,
“https://support.atlassian.com/jira-software-cloud/docs/change-your-advanced-roadmaps-plan-settings/“, “https://support.atlassian.com/jira-software-cloud/docs/how-do-i-read-my-advanced-roadmaps-plan/“, “https://support.atlassian.com/jira-software-cloud/docs/what-do-the-symbols-in-advanced-roadmaps-mean/“]