【发布时间】:2019-03-17 05:19:41
【问题描述】:
我有一个程序,我要去 reddit.com 网站并从中获取一个 html 元素。然而,大约有 1/10 的时间,旧的 reddit 网站出现了,我必须重新启动程序。有没有更短的方法来处理这个错误(基本上再次从顶部重新启动)?我似乎无法通过 try/except 弄清楚。
browser = webdriver.Chrome(executable_path=r'C:\Users\jacka\Downloads\chromedriver_win32\chromedriver.exe')
browser.get("https://www.reddit.com/")
# grabs the html tag for the subreddit name
elem = browser.find_elements_by_css_selector("a[data-click-id='subreddit']")
#in the case that old reddit loads, it restarts the browser.
if len(elem) == 0:
browser.close()
browser = webdriver.Chrome(executable_path=r'C:\Users\jacka\Downloads\chromedriver_win32\chromedriver.exe')
browser.get("https://www.reddit.com/")
# grabs the html tag for the subreddit name
elem = browser.find_elements_by_css_selector("a[data-click-id='subreddit']")
【问题讨论】:
-
将所有内容封装在一个 while 循环中,仅在成功时中断。
-
if len(elem) == 0:->if not elem:(在 Python 意义上更漂亮)
标签: python error-handling try-catch try-except