0
私は地元の不動産サイトのパーサーを書き始めました。私は私が必要とするページを選択するためにセレンを使用しましたが、私はそれをもう一度到達できない数分後に、それは私に、このエラーを与える:"NoSuchElementException"エラーを解決するには?
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="tr_an-357543"]"}
(Session info: chrome=55.0.2883.87)
(Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.4.0-21-generic x86_64)
これはコードの一部です:
driver = webdriver.Chrome()
url = "https://makler.md/md/"
driver.get(url)
driver.maximize_window()
driver.find_element_by_xpath('//*[@id="rublist_lev1"]/li[1]/a').click() # acces Imobiliare
driver.find_element_by_link_text("Vânzare apartamente, camere").click() # acces Apartamente
parentElement = driver.find_element_by_xpath('//*[@id="tr_an-357543"]')
elementList = parentElement.find_elements_by_tag_name("a")
links = []
for element in driver.find_elements_by_xpath('//article[starts-with(@id, "tr_an-")]//a[@class="ls-detail_anUrl"]'):
links.append(element.get_attribute('href'))
page = driver.get(links[15])
caracteristici = driver.find_element_by_xpath('//*[@id="anItemData"]/ul[2]')# Selecteaza blocul caracteristici
print(caracteristici.text)
driver.close()
もう一度 'caracteristici'のxパスをコピー&ペーストすると機能します。この問題を解決するには?
この要素の 'id *'変更は '' * [@ id = "tr_an-357543"] ''ですか?より強固なセレクタが必要なように聞こえます。 htmlを見なくても、それらがどのように見えるのかは言うまでもありません。 – mrfreester