Как запрограммировать код для запуска в течение определенного времени и выхода после этого?

Это мой код. Я хочу, чтобы программа работала всего 10 секунд, и если она превышает 10 секунд, программа должна остановиться. Для этой цели я использовал цикл while, как показано. Но это не работает. Пожалуйста, помогите мне с альтернативой или улучшением того же кода. Спасибо.

def second_func():
    first_id = driver.find_element_by_xpath('//*[@id = "instant"]')
    first_id.click()

    ids = driver.find_element_by_xpath(
        '//*[@id = "R629789109123908870"]/div[2]/table[1]/tbody/tr[11]/td[3]/a')
    ids.click()

    window_after = driver.window_handles[1]
    driver.switch_to.window(window_after)

    ans = driver.find_elements_by_xpath('//*[@id = "P15_ENVIRONMENT_AAI_PASSWORD"]')
    for i in ans:
        current_password = i.text

    with open('data/password', 'r') as file:
        for line in file:
            previous_password = line

    if current_password == previous_password:
        # email_sender(current_password)
        print(current_password)

    else:
        with open('data/password', 'w') as file:
            file.write(current_password)
            file.close()
            print(current_password)
            # email_sender(current_password)

    driver.quit()

options = webdriver.ChromeOptions()
options.add_argument('--disable-extentions')
options.add_argument('--enable-popup-blocking')
options.add_argument('--start-maximized')

driver = webdriver.Chrome(executable_path='C:\\Users\\hp\\Downloads\\chromedriver',
                          chrome_options=options)


end_time = time.time() + 10
while time.time() < end_time:

    driver.get("http://demo.oracle.com")

    login = driver.find_element_by_xpath('//*[@id = "sso_username"]')
    login.send_keys('username')

    password = driver.find_element_by_xpath('//*[@id = "ssopassword"]')
    password.send_keys('password')

    login_click = driver.find_element_by_xpath(
        '/html/body/div/div[3]/div[1]/form/div[2]/span/input')
    login_click.click()

 else:
     driver.quit()
stackoverflow.com/a/494273/6198978
NoorJafri 10.08.2018 09:57

Возможный дубликат Тайм-аут при вызове функции

Bernhard 10.08.2018 10:07
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
33
0

Другие вопросы по теме