在第二次迭代 运行 python 脚本时再添加一个小时

Add another hour when running python script on 2nd iteration

我有一个使用 datetime、timedelta 和 selenium 模块的 Python 脚本。 该脚本转到一个网站,输入当前时间(使用 datetime),并将用户输入的数字添加到当前时间(使用 timedelta)。

我也有一个循环。但我想确保当脚本处于第 2 个循环时,它会增加两倍的用户输入。

(例如:用户输入 2,脚本会在当前时间的小时上输入 2。然后再次循环,但这次会在当前时间的小时上加 4 .)

有谁知道我如何实现这个想法?这对我的项目很有用,谢谢。

代码:

import undetected_chromedriver as uc
from selenium.webdriver import ActionChains, Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from datetime import datetime, timedelta
import time

hr_input = int(input('how many hours to add?: ')
amount_loops = int(input('how many times to loop?: ')

for i in range(amount_loops):
        time.sleep(2)
        adding = (datetime.now() + timedelta(hours=int(hr_input))).strftime("%H:%M")
        wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@id="input-1"]/input'))).send_keys(adding + Keys.ENTER)
        time.sleep(2)

假设你想每次乘以2,你可以使用变量i,然后乘以2**i

  1. 所以第一次 2**0 = 1 所以没有效果
  2. 第二次 2**1 = 2 次 2
  3. 第三次 2**2 = 4 等等等等

    adding = (datetime.now() + timedelta( hours=2**i*int(hr_input) )).strftime("%H:%M")