我想打印一些房價,並且在使用Xpath時遇到了麻煩。這裏是我的代碼:使xpath更具選擇性? [網絡刮]
from selenium import webdriver
driver = webdriver.Chrome("my/path/here")
driver.get("https://www.realtor.com/realestateandhomes-search/?pgsz=10")
for house_number in range(1,11):
try:
price = driver.find_element_by_xpath("""//*[@id="
{}"]/div[2]/div[1]""".format(house_number))
print(price.text)
except:
print('couldnt find')
我在this網站,試圖打印關閉前十樓的房子的房價。
我的輸出是對於所有說「新」的房屋,這個價格取代實際價格。但是對於沒有新貼紙的最下面兩個,記錄了實際價格。
如何製作我的Xpath選擇器,以便它選擇數字而不是NEW?
嗨,感謝您的努力,我欣賞評論和深思熟慮的解釋。但是,當我嘗試運行該代碼時,我現在發現一個錯誤,即Selenium根本找不到該元素(即,對於任何房屋)! 我將我的代碼更改爲: 'price = driver.get_element_by_xclass(「」「// li [@id =」{}「]/div [@ class =」srp-item-body「]/div [@class =「srp-item-price」]「」「。format(house_number))'\t 而這會拋出一個異常,即每次都無法找到元素。 – thewhitetie
它在我的Chrome控制檯中工作,你嘗試使用'driver.find_element_by_xpath'嗎? –