Ошибка атрибута: объект ‘list’ не имеет атрибута ‘replace’ Selenium Python

#python #selenium #replace #scrapy

#python #селен #заменить #scrapy

Вопрос:

Я получаю ошибку атрибута с функцией replace ()

 AttributeError: 'list' object has no attribute 'replace'
  

Я пытаюсь заменить [ и ' пустой строкой.

 owner_address = response.xpath('XPATH Expression').getall().replace("[", "").replace("'", "")

owner_address_region = response.xpath('XPATH Expression').getall().replace("[", "").replace("'", "")
  

Вывод:

[‘СИЛЬВИЯ А. БРАУН’, ‘395 БИЛАНД ДР’]

Для:

СИЛЬВИЯ А. БРАУН, 395 БИЛАНД, доктор

Комментарии:

1. Строковые объекты имеют метод «join», который принимает список в качестве параметра.

2. Список — это не строка. Вы не можете заменить скобки. Если вы хотите создать строку, используя содержимое списка, используйте join. Это сбивает вас с толку, вам следует просмотреть основные типы данных / объектов в python, чтобы понять разницу

Ответ №1:

Возвращаемый тип getall() — это список, и вы можете присоединять элементы списка с помощью join .

Рабочим примером может быть "".join(response.xpath('XPATH Expression').getall())