Тестировщики есть, и их много но они не сидят на фрилансе, так как там нет работы по профилю, все сидят на проектах.
На соотвествие верстки должен проверять сам разработчик для это есть инструменты например
Я чисто из интереса посмотрел беглым взглядом на книгу, и там же написанно что это псевдо код. Пример mergesort в голом виде не где не заработает, тебе его нормально надо писать или смотерть в другие книги
Михаил Крюков, Анатолий, Потому что мы не передаем объект список, а передаем ссылку на объект список, и ссылок в итоге может быть много, но объект один поэтому он и изменяется. Михаил Крюков, Почитай про изменяемые и неизменяемые типы
python не является медленным языком, об этом говорит лишь тот факт что крупные it гиганты используют его для своих сервисов, а считают его медленным из-за обилия говнокода наподобие вашего
А по существу уберите все лишние операции со списками и уже будет не большой прирост
Откройте мануал по питону и посмотрите про базовые классы
rmfalx: Открой класс WebDriverWait, там как раз используется динамическое ожидание, то время которое передается в параметрах, является максимальным для ожидания, если этого времени не хватит тогда вернётся ошибка.