const table = document.
getElementsByTagName("table")
в переменной table будет
HTMLCollection, а не один элемент.
tabledata = table.
childNodes[0] // ошибка, у коллекции нет свойства childNodes
исправить не сложно:
const tables = document.getElementsByTagName("table")
const tabledata = tables[0].childNodes[0]
теперь в tabledata первый узел из первой таблицы. Непонятно только зачем называть пустой текстовый узел словом tabledata.
const columnsdata = tabledata.getElementsByTagName("col"); // ошибка, у пустого текстового узла нет дочерних элементов
Так можно и дальше продолжать. Вы лучше почитайте внимательнее что возвращают методы, которые вы используете. И присмотритесь в querySelector и querySelectorAll
Половину кода можно выбросить заменив на
const table = document.querySelector('table') // первая попавшаяся таблица
const cols = table.querySelectorAll('col') // NodeList c колонками
cols.forEach(col => console.log)
браузер не хочет выполнять выполнять операции с сhildren и childNodes
что значит "не хочет"? На самом деле он не может выполнять те команды, которые вы ему понаписали, и сообщает об ошибке. Которую вы даже не стали приводить в вопросе :)