Перевести ошибку, можно со словарем - и понять что возможно дело в правах пользователя.
А еще лучше - почитать про виртуальные окружения, и работать с ними.
Он работает, и выдает именно то что вы запрашиваете.
У вашего выбранного элемента с id="mw-content-text" нет непосредственного тега-потомка p - поэтому и выводит пустое множество.
a = 1234
b = 1234
print(id(a))
print(id(b))
print(a is b)
# 2221342169168
# 2221342169168
# True
Как видим - a и b ссылаются на тот же адрес памяти - python соптимизировал использование переменными памяти, поскольку в скрипте во время выполнения переменные не меняются.
В то же время в консоли создаются переменные в разных областях памяти:
>>> a = 1234
>>> id(a)
2715578112304
>>> b = 1234
>>> id(b)
2715578112432
>>>
>>> a is b
False
поскольку значение переменных больше 256 и заранее неизвестно как вы с переменными поступите дальше