Если у тебя не стоит задача исполнять javascript (т.е. считать что все ссылки на сайте доступны без его включения) то рекомендую воспользоваться готовыми инструментами, например wget умеет делать полную копию сайта с указанным уровнем вложенности.
Если стоит задача обрабатывать javascript то у тебя проблемы, никаких других универсальных способов, кроме как открывать сайт в браузере - нет, но можно взять старые версии webkit (версии, выпущенные лет 5-10 назад), на их основе мини браузер для анализа сайта будет потреблять очень мало оперативной памяти, а значит на одной машине таких скраперов может быть запущено сотнями, понятно что не все сайты смогут так работать, но процент достаточно высокий.
Так же можно попытаться разработать алгоритмы по определению, требует ли сайт полноценный браузер или ему хватит обычного wget и его аналогов. Что то можно вытащить, определив движок, на котором сайт написан, 90% интернета используют готовые фреймворки, у многих из них свои способы, где то можно попытаться вытащить карту сайта из кода, не выполняя его... стоит ли такая работа экономии на процессорах, хз
hover = action.move_to_element(social).perform()
hover = action.move_to_element(social)
hover.perform()
2) Не понимаю о чем вы, если не тяжело можете написать подробнее