我正在嘗試使用 python 和 selenium 將所有產品價格從一個站點獲取到一個串列中,但是當價格打折并且在站點上看起來像這樣時,我遇到了一個問題:

本站 HTML 代碼:
<span class="product-price promo-price">
<b>
79,00
::after
</b>
<del>
89,00
::after
</del>
</span>
我將價格納入串列的硒代碼:
def test5():
sort = driver.find_element(By.CSS_SELECTOR, ".sorter-button").click()
sort2 = driver.find_element(By.CSS_SELECTOR, ".sorter-listing > span:nth-child(3) > label:nth-child(2)").click()
prices = driver.find_elements(By.CLASS_NAME, "product-price ")
a = []
for i in prices:
a.append(i.text)
print(a)
這段代碼的輸出是:
['19,90', '50,00', '78,99', '79,00\n89,00', '95,00\n128,00', '135,00', '137,95', '149,00\n158,00', '191,00', '199,00', '199,99\n267,50', '200,00\n300,00']
問題是同時獲得折扣和正常值,例如 -79,00\n89,00
我怎樣才能只獲得折扣價,所以串列看起來像這樣:
['19,90', '50,00', '78,99', '79,00', '95,00', '135,00', '137,95', '149,00', '191,00', '199,00', '199,99', '200,00']
如果我這樣做,例如通過XPATH,那么我只能從網站獲得一個價格,而不是全部。
uj5u.com熱心網友回復:
a.append(i.text.splitlines[1])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/471179.html
