首页 > 解决方案 > 如何让 python 脚本再次重复 x 次?

问题描述

我需要再次运行 python 脚本 10 次,但脚本最后总是返回一个故意的错误。这会停止脚本,因此我不能使用 for 或 while 循环来重复脚本。出现错误是因为我在我的网站上设置了随机数量的问题,最多 7 个问题。所以我创建了一个while循环来点击一个元素7次,但是如果生成的问题数量较少,它会返回一个错误,即找不到该元素。因此,不知何故,我需要帮助忽略此错误,或者能够再次运行整个 .py 文件 10 次,例如重新启动脚本。

我也尝试过使用 try/catch 或 except 语句来忽略错误,但它不起作用。

这是出现错误的部分:

b = 6
i = 0
    try:
        while i < b:
            print("We're in")
            time.sleep(2)
            Pass_box = driver.find_element_by_class_name('btn-chat')
            Pass_box.click()
            try:
                Cool_box = driver.find_element_by_class_name(
'message-submit'
)
                Cool_box.click()
            except:
                print("")
            i = i + 1
            print(i)
        driver.get('http://127.0.0.1:8000/')
        g = g + 1
    except IOError:
        driver.get('http://127.0.0.1:8000/')
        g = g + 1

当我试图做一个while循环时,使用了g + 1。

标签: pythonseleniumloops

解决方案


您是否尝试过将第一次尝试与您的while交换?并在您第一次尝试时添加一个通用异常?这将防止任何执行错误。

提示:在您的问题上分享您的错误。

b = 6
i = 0
    while i < b:
        try:
                print("We're in")
                time.sleep(2)
                Pass_box = driver.find_element_by_class_name('btn-chat')
                Pass_box.click()
                try:
                    Cool_box = driver.find_element_by_class_name('message-submit')
                    Cool_box.click()
                except:
                    print("")
                i = i + 1
                print(i)
            driver.get('http://127.0.0.1:8000/')
            g = g + 1
        except Exception:
            driver.get('http://127.0.0.1:8000/')
            g = g + 1

推荐阅读