Вы можете добавить условие if к вашему списку:
if item.get_attribute('data-type') == "yourValue"
Тогда это будет выглядеть так:
els = WebDriverWait(driver,30).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "[data-id]")))
ids = [item.get_attribute('data-id')
for item in els if item.get_attribute('data-type') == "yourValue"]
РЕДАКТИРОВАТЬ:
Значение item.get_attribute(«тип данных») - это не «Нож», а «Нож».(пробел в конце)
Solution1: Удалить пробелы, используя strip ():
if item.get_attribute('data-type').strip() == "Knife"
Solution2: использовать в
if "Knife" in item.get_attribute('data-type')
Solution3: добавить пробел!
if item.get_attribute('data-type') == "Knife "
EDIT2: если вы хотите сопоставить несколько значений, используйте:
accepted_type = ("Knife", "Knife2",...)
if item.get_attribute('data-type').strip() in accepted_type