私は不動産のリストを経て、エージェント個人のウェブサイトを収集し、簡単なスクリプトに取り組んでいる方法を解任する方法。エージェントがウェブサイトを持っていないリスティングを見つけたときに問題に遭遇し、その場合スクリプトが機能しなくなりました。今はtry-exceptを入れました。これはexceptブロックが実行されるまで動作し、ブラウザ全体が終了すると動作します。ブロック以外で実行されたときのtry-以外
time.sleep(15)
for i in range(1,9):
listing_page = driver.find_element_by_xpath('//*[@id="m_property_lst_cnt_realtor_more_'+str(i)+'"]').click()
try:
realtor_url = driver.find_element_by_xpath('//*[@id="lblMediaLinks"]/a').click()
WebDriverWait(driver, 10).until(lambda d: len(driver.window_handles) == 2)
driver.switch_to_window(driver.window_handles[1])
WebDriverWait(driver, 10)
except:
print("Not found")
continue
driver.close()
driver.switch_to_window(driver.window_handles[0])
driver.get(home_page)
time.sleep(10)
とにかく、例外ブロックが実行されたときにホームページに戻ってループを再開できますか?そうでないならば。ループはいつものように実行されますか?論理フローは良い習慣ではないとして、例外を使用して、私の意見では
は、あなたの実際のコードは、あなたが提示したコードと同じインデントを持っていますか? – Acccumulation
はありませんそれは、私が実際に素早く@acccumulation – Dotpy
'driver.closeは()' 'driver.quitを()'トリガーブラウザ全体を、閉じたことを修正しますしません。複数のタブがあるときにタブ/ウィンドウを閉じる簡単な方法はありません。経験則として、ウィンドウハンドルを切り替えるのを避けたい。 – blakev