It is possible. I suggest you provide your script with login credentials and read the page that display the info. Then you could parse it's content and fill an array with the data you want. Since these pages sometimes contain more information like dates and time you could build a really nice log.
Here is a quick example on how I would proceed;
On your router's page you could find something like the following;
<div id="flex">
<div id="dm-name">
name : Your_device_name
</div>
<div id="dm-ip">
IP : 192.168.x.xxx
</div>
<div id="dm-mac">
<span>MAC:D4:04:CD:FE:5A:17</span>
</div>
</div>
So we know wright that every device will be listed like that.
And that all MAC adresse will have the same length.
The script could be something like that;
var string_to_parse = "file read from router.html";
cursor = 0; // The position of your cursor;
i =0;
while(cursor > 0){
begin_at = string_to_parse.indeOf('MAC:');
end_at = length_of_Mac; // this is standard for al mac
mac[i] = string_to_parse.substring(begin_at, begin_at + end_at);
cursor = begin_at + end_at;
i++;
}
This code will need tweaking but the idea is there. Its a loop that will run all the file to find all Mac adresse. until it reach the end of the file.