Search code examples
pythonerror-handlingtry-catchtry-except

Can I restart my python code using a try/except?


I have a program where I am going to the reddit.com website and grabbing an html element from it. however, about 1/10th of the time, the old reddit website shows up, and I have to restart the program. Is there any shorter way to handle this error (basically restart from the top again)? I couldn't seem to figure it out with a 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']")

Solution

  • Solved thanks to @HSK. I put the code in a while loop that ran until it got the right version of reddit.

    #had to initalize elem so the loop would run
    elem = ""
    while len(elem) == 0:
        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']")