1 回答

TA貢獻1818條經驗 獲得超8個贊
問題來自您正在使用的以下幾行int():
discounted_percent= int(product.xpath(".//div[@class='c-price__discount-oval']/span/text()").get())
discounted_price= int(product.xpath(".//div[@class='c-price__value-wrapper']/text()").get())
original_price= int(product.xpath(".//div[@class='c-price__value c-price__value--plp']/del/text()").get())
但是,您還必須為discounted_priceand執行此original_price操作,確保沒有非數字字符,例如%或 貨幣符號。
這是因為您不能int()在使用非數字字符的字符串上使用,例如int("20%")
一個快速的解決方案是刪除這些字符。在以下情況下discounted_percent:
discounted_percent = int(str(product.xpath(".//div[@class='c-price__discount-oval']/span/text()").get().strip()).replace('?', ''))
添加回答
舉報