Q: JSDOM not returning all elements on webpage I'm trying to make a fairly simple webscraper, but JSDOM doesn't seem to be working properly. Here's the code that I'm using for the scraper:
const axios = require("axios");
const jsdom = require("jsdom");
const { JSDOM } = jsdom;

let v = "15";

axios.get("https://adoptopenjdk.net/releases.html?variant=openjdk" + v + "&jvmVariant=hotspot")
.then(function (response) {
  const dom = new JSDOM(response.data, { runScripts: "dangerously", resources: "usable", pretendToBeVisual: true });
  console.log(dom.window.document.querySelector('title').textContent);
  let a = [...dom.window.document.querySelectorAll('a')];
  let osList = [...dom.window.document.getElementsByClassName('os')];
  let archList = [...dom.window.document.querySelectorAll('.arch')];
  let downloadLinks = [...dom.window.document.querySelectorAll('.main-download__variant__sub-table__download')];
  console.log(a);
  console.log(osList);
  console.log(archList);
  console.log(downloadLinks);
})
.catch(function (error) {
  console.log(error);
});

In theory, this should return the following:

But it instead returns about half of the anchor elements, and none of the other elements:

My only theory is that it isn't running scripts, but this makes no sense since I explicitly told it to ({ runScripts: "dangerously", resources: "usable", pretendToBeVisual: true }).
I can't for the life of me figure out why this won't work.

A: See the comments on the original question. Heretic Monkey's suggestion to use their API is the correct answer.
