我只是做一個簡單的腳本,轉到房地產列表的網頁點擊列表上,打開代理網站,打印出網址,然後關閉頁面並返回返回列表頁面繼續下一個列表。我打了一堵牆,在一些列表中,代理沒有網站,所以我得到一個錯誤,說腳本找不到該元素,因爲它不是在那裏腳本停止。我怎麼能在for循環中使用if-else語句來關閉已打開的列表,而不需要代理網站,並返回到列表頁面以繼續檢查下一個列表?If Else statements for循環
這裏是循環:
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()
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)
print(driver.current_url)
driver.close()
driver.switch_to_window(driver.window_handles[0])
driver.get(home_page)
time.sleep(10)
(PS,我知道睡眠()是不好的做法,我只是專注於基本的「如何能拿到劇本的工作」,而不是建設的更好的方法。 。一旦完成,我可以學習如何使它更好)
我可能會使用一個嘗試 - 除了這裏 –