我想在網上商城中查找某些商品的名稱、地址、價格。但是,有時地址是空的,我的代碼在我的代碼中中斷(下面_它是唯一的硒部分)
num = 1
while 1:
try:
title = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/span').text
datas_title.append(title)
address = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/div/p[2]').text
datas_address.append(address)
price = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/p').text
datas_price.append(price)
print('crowling....num = ' str(num))
num=num 1
except Exception as e:
print("finish get data...")
break
print(datas_title)
print(datas_address)
print(datas_price)
如果地址為空,我該怎么辦 -> 忽略它并找到下一個專案?
uj5u.com熱心網友回復:
使用它,您可以跳過缺少資訊的條目:
num = 1
while 1:
try:
title = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/span').text
datas_title.append(title)
address = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/div/p[2]').text
datas_address.append(address)
price = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/p').text
datas_price.append(price)
print('crowling....num = ' str(num))
num=num 1
except:
print("an error was encountered")
continue
print(datas_title)
print(datas_address)
print(datas_price)
uj5u.com熱心網友回復:
address = browser.find_element_by_xpath('//*[@id="root"]/div[1]/section/article/div/div[' str(num) ']/div/div/a/div/p[2]').text
if not address:
address = "None"
else:
address = address[0].text
datas_title.append(address)
您可以使用 find_elements 檢查它是否為空,然后繼續使用任一值進行操作。您可以將其封裝到一個函式中,將 xpath 和 data_title 陣列傳遞給它,并且您的代碼應該是可重復的。
uj5u.com熱心網友回復:
我認為您需要首先檢查回傳的 web 元素是否不是 none。然后繼續獲取文本。
您可以為它撰寫一個函式,并在其中捕獲該例外。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/459111.html
上一篇:使用部分href資訊提取多個文本
