python - 如何让 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。
解决方案
您是否尝试过将第一次尝试与您的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
推荐阅读
- macos - 电子 ffmpeg mas 构建“非法指令:4”
- laravel - 如何在 laravel 中使用 helper 来获取配置文件?
- lua - 将工作 lua 代码(用于锤子勺)翻译成茴香;预期的用户数据类型
- oracle - 在 oracle 视图中触发以创建特定的增量 id
- ruby-on-rails - Ruby on Rails:无法选中 RSpec 测试中的复选框
- sql - (SSMS) SQL:如果在同一列中,则使用 CASE 获取一个人的“年龄”(作为数字)和“RIP”(作为文本)如果死在同一列中
- spring-boot - spring.config.import 故障转移
- android - Android SmsManager 发送失败
- java - 在 Java 中加载加密的 PCKS8 PEM 私钥
- asp.net - invalid_token -- 未找到签名密钥