Цикл x раз через функцию

#python #loops #if-statement #tkinter #listbox

#python #циклы #if-оператор #tkinter #список

Вопрос:

У меня есть программа, которая использует selenium. В этой программе у меня есть графический интерфейс tkinter с Listbox .

Поле списка, которое можно заполнить именами, введя имя в поле ввода и добавив его с помощью кнопки.

После того, как я заполнил свой список, я хочу просмотреть каждое имя и выполнить цикл поиска.

Это мой код на данный момент (попытался упростить его для этого примера):

 def loop_player_listbox():
    global bol_loop
    bol_loop = True
    if bol_loop is True:
        time.sleep(1)
        str_libo = listbox.get(0, tk.END)

        for i in str_libo:
            text_playername = wait.until(EC.element_to_be_clickable((By.XPATH,('/html/body/main/section/section/div[2]/div/div[2]/div/div[1]/div[1]/div[1]/div/input'))))
            text_playername.clear()
            text_playername.click()
            text_playername.send_keys(i)
            try:
                choose_player = wait.until(EC.element_to_be_clickable((By.XPATH,("//span[@class='btn-text' and contains(text(),'" i "')]"))))
                choose_player.click()
            except:
                print('Player not found!')

            example()
  

В этом примере я хочу просмотреть каждый элемент в списке, выполнить поиск по имени в URL-адресе и щелкнуть по нему, если имя было найдено и появилось в определенном xpath.

После этого, и это то, что я не могу сделать правильно, я хочу выполнить функцию в цикле. Функция должна выполнить цикл 5 раз, а затем она должна перейти к следующему na, e в моем списке и сделать то же самое (так что на самом деле для всех имен в моем поле она должна выполнить это 5 раз)

Это цикл, который необходимо выполнить:

 def example(int_user_input_max_price, int_choose_speed): # buy only routine
    # start buy only mode
    global start_process, exit_tool
    exit_tool = False
    start_process = True
    if start_process is True:

        time.sleep(1)
        btn_search = driver.find_element_by_xpath('/html/body/main/section/section/div[2]/div/div[2]/div/div[2]/button[2]')

        # set max price
        ipt_max_price = driver.find_element_by_xpath(
        ipt_max_price.click()
        time.sleep(1)
        ipt_max_price.send_keys(int_user_input_max_price)
        time.sleep(1)

        # Set min price
        int_min_price = 150

        # Set max players bought
        int_max_players_bought = 100
        int_players_bought = 0


        # Buy until 100 players were bought
        while int_players_bought < int_max_players_bought:
    else:
  

Я не вдаюсь в смысл всего моего кода, мне просто нужно знать, как я мог бы сделать так, чтобы это example() выполнялось 5 раз, а затем вернуться к следующему элементу в моем списке?

Если потребуется какая-либо дополнительная информация, пожалуйста, дайте мне знать.

РЕДАКТИРОВАТЬ 1:

У меня есть список футболистов. И с помощью моего кода я автоматизирую веб-приложение игры Fifa.

Моя программа ищет игрока по имени из списка и пытается купить его на трансферном рынке ( example() ).

Я хочу сделать возможным, чтобы пользователь мог добавить несколько имен в список и позволить программе перебирать все элементы в списке. Он должен выполнить example() x раз, а затем вернуться и сделать то же самое для следующего элемента в списке.

Я думал, поможет ли счетчик, чтобы он выводил значение = 1 после каждого цикла example() . Но я не могу собрать код вместе.

Комментарии:

1. Могли бы также включить в резюме то, чего вы хотели бы достичь?

2. добавлено краткое изложение того, что он должен делать;-)

3. Приведенный ниже ответ не помогает?

4. Нет, потому что он должен был учитывать многие аспекты. Но теперь я понял это. Я проделал значительную работу по переписыванию своего кода. Ты все еще