私はいくつかの住宅価格を印刷しようとしており、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')
私は最初の10軒の住宅の住宅価格オフ印刷しようと、thisウェブサイトにしています。
私の出力は、「NEW」と言われるすべての住宅のためのもので、実際の価格ではなく価格として取得されます。しかし、その新しいステッカーを持っていないボトム2では、実際の価格が記録されます。
Xpathセレクタを数字を選択するようにするにはどうすればいいですか?
ご協力いただきありがとうございました。私は解説と丁寧な説明に感謝します。しかし、そのコードを実行しようとすると、セレニウムがその要素を(つまり、どの家でも)見つけることができないというエラーが表示されます。 私のコードを次のように変更しました: 'price = driver.get_element_by_xclass(" "" li "@id =" {} "]/div [@ class =" srp-item-body "]/div [@class = "srp-item-price"] "" "。フォーマット(house_number))' \t これは、要素が毎回見つからないという例外をスローします。 – thewhitetie
これはChromeのコンソールで動作しています。あなたは 'driver.find_element_by_xpath'を使ってみましたか? –