Ваш селектор xpath здесь выбирает text()
значения:
'//*[@class="apexir_WORKSHEET_DATA"]//tr//td//text()'
Что вы хотите сделать, это выбрать td
значения и перебрать их:
items = []
rows = response.xpath('//*[@class="apexir_WORKSHEET_DATA"]//tr//td')
for row in rows:
text = ''.join(row.xpath('.//text()').extract())
items.append(text)
Теперь даже еслинет текста, ваш код добавит пустую строку в ваш список товаров.Делать это с одним только xpath, к сожалению, невозможно.