我只是做一个简单的脚本,转到房地产列表的网页点击列表上,打开代理网站,打印出网址,然后关闭页面并返回返回列表页面继续下一个列表。我打了一堵墙,在一些列表中,代理没有网站,所以我得到一个错误,说脚本找不到该元素,因为它不是在那里脚本停止。我怎么能在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,我知道睡眠()是不好的做法,我只是专注于基本的“如何能拿到剧本的工作”,而不是建设的更好的方法。 。一旦完成,我可以学习如何使它更好)
我可能会使用一个尝试 - 除了这里 –