Потребность в L oop Процесс с Python и селеном с использованием JSON Загрузка информации или другой метод - PullRequest
1 голос
/ 02 апреля 2020

Так что мне нужна помощь в создании для l oop для процесса селена с использованием python. Целью здесь является загрузка страницы на указанном c веб-сайте после аутентификации:

  1. Аутентификация на веб-сайте
  2. Загрузка Namekey
  3. Send_keys Namekey и Нажмите Enter
  4. Нажмите кнопку, чтобы удалить пользователя с Namekey из всех групп безопасности
  5. Нажмите OK, чтобы подтвердить

Для 3000 пользователей необходимо выполнить шаги 2-5. , Это код блока, который фактически выполняет этот процесс.

# Send Keys to Lookup 
# XPATH = //*[@id='brSecuredUsersLookupInput']
target_user = WebDriverWait(browser, 20).until(
                    EC.element_to_be_clickable((By.XPATH, "//*[@id='brSecuredUsersLookupInput']")))

# Start Forloop
target_user.send_keys(config['sec_group_removal']['name_key']);
target_user.send_keys(Keys.RETURN);

# Expand Button on Element Needing Sec Group Removal
# Class "bd_open"
element = WebDriverWait(browser, 20).until(
            EC.element_to_be_clickable((By.CLASS_NAME, "bd_closed")))
element.click()

# Click on Remove All Groups By Link Text
# find_elements_by_link_text
element = WebDriverWait(browser, 20).until(
                    EC.element_to_be_clickable((By.LINK_TEXT, "Remove All Groups")))
element.click()

# Click Ok by ID
# XPATH //*[@id='msgBtn1'] 
element = WebDriverWait(browser, 20).until(
                            EC.element_to_be_clickable((By.XPATH, "//*[@id='msgBtn1']")))
element.click()
# End For Loop 

У меня есть четыре вопроса, связанных с этим:

  1. Могу ли я превратить это в for-l oop и загружать пользователей с помощью JSON или я должен составить словарь?
  2. Как я могу go сделать for-l oop для итерации по этому процессу, если я сделаю оператор for i in dictionary, или оператор while?
  3. Мне нужно загрузить информацию из отдельного файла, так как я не хочу, чтобы ключи имен были жестко запрограммированы в скрипте. JSON лучший способ сделать это? У меня ранее была проблема с файлом JSON, когда я пытался создать несколько пользователей, вложенных в файл JSON, но он не работал. Возможно, не рекомендуется создавать словарь из вложенных JSON?
  4. Есть ли другой способ загрузить информацию из отдельного файла, отличного от этого:
# Load users.json File 
with open('users.json','r') as f:
          config = json.load(f)

Также вот файлы JSON, которые я использовал, чтобы помочь загрузить этот

файл JSON, который работает:

{
        "sec_group_removal": {
                "name_key": "<INSERT_NAMEKEY>"
        }
}

это, очевидно, соответствует (config['sec_group_removal']['name_key']), но когда я использовал такой файл:

{
                "sec_group_removal": {
                        "target_users": {
                                "user_1": {
                                        "first_name": "<INSERT_FIRST_NAME>",
                                        "last_name": "<INSERT_LAST_NAME>",
                                        "user_name": "<firstname.lastname>",
                                        "name_key": "<INSERT_NAMEKEY>"
                                        },
                                "user_2": {
                                        "first_name": "<INSERT_FIRST_NAME>",
                                        "last_name": "<INSERT_LAST_NAME>",
                                        "user_name": "<firstname.lastname>",
                                        "name_key": "<INSERT_NAMEKEY>"
                                }
                        }
                }
}

Мне не нужно использовать файл JSON для его загрузки, например, у меня есть файл Excel, текстовый файл или файл CSV, который также содержит информацию, необходимую для размещения в имени пользователя. Любые мысли или указания здесь были бы хорошими. В любом случае, я не думаю, что загрузка JSON из отдельного файла - это путь к go. Но ради любопытства это не сработало:

(config['sec_group_removal']['target_users']['user_1']['name_key'])

Более того, я понимаю, что сам файл ['user_1'] would have to be a variable defined from the JSON`.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...