需要使用加载的JSON信息或其他方法使用Python和Selenium进行循环处理

需要使用加载的JSON信息或其他方法使用Python和Selenium进行循环处理,python,json,for-loop,selenium-webdriver,selenium-chromedriver,Python,Json,For Loop,Selenium Webdriver,Selenium Chromedriver,因此,我需要帮助使用python为selenium进程创建for循环。 此处的目标是在验证后加载到特定网站上的页面: 对网站进行身份验证 加载Namekey 发送密钥Namekey并按Enter键 单击按钮从所有安全组中删除具有Namekey的用户 单击“确定”确认 必须为3000名用户执行步骤2-5。 这是实际执行该过程的块代码 #将密钥发送到查找 #XPATH=/*[@id='brSecuredUserLookupInput'] target_user=WebDriverWait(浏览器,2

因此,我需要帮助使用python为selenium进程创建for循环。 此处的目标是在验证后加载到特定网站上的页面:

  • 对网站进行身份验证
  • 加载Namekey
  • 发送密钥Namekey并按Enter键
  • 单击按钮从所有安全组中删除具有Namekey的用户
  • 单击“确定”确认
  • 必须为3000名用户执行步骤2-5。 这是实际执行该过程的块代码

    #将密钥发送到查找
    #XPATH=/*[@id='brSecuredUserLookupInput']
    target_user=WebDriverWait(浏览器,20)。直到(
    EC.element可点击((By.XPATH,“/*[@id='brsecureduserlookupinput']))
    #启动前循环
    目标用户。发送密钥(配置['sec\u group\u remove']['name\u key']);
    目标用户。发送密钥(密钥。返回);
    #需要删除Sec组的元素上的展开按钮
    #“bd_打开”类
    element=WebDriverWait(浏览器,20)。直到(
    EC.元素可点击((按.CLASS\u名称,“bd\u关闭”))
    元素。单击()
    #单击“按链接文本删除所有组”
    #通过链接文本查找元素
    element=WebDriverWait(浏览器,20)。直到(
    EC.element可点击((By.LINK文本,“删除所有组”))
    元素。单击()
    #单击“按ID确定”
    #XPATH/*[@id='msgBtn1']
    element=WebDriverWait(浏览器,20)。直到(
    EC.element可点击((By.XPATH,“/*[@id='msgBtn1']”)
    元素。单击()
    #循环结束
    
    我有四个与此相关的问题:

  • 我可以把它做成一个for循环并通过
    JSON
    加载用户,还是应该制作一个字典
  • 我应该在dictionary语句中执行
    for I,还是在
    while
    语句中执行
    for I
  • 我必须从一个单独的文件中加载信息,因为我不希望名称键硬编码到脚本中。
    JSON
    是最好的方法吗?我之前的
    JSON
    文件有一个问题,我试图在
    JSON
    文件中嵌套多个用户,但它不起作用。也许用嵌套的
    JSON
    创建字典不是最佳做法
  • 是否有其他方法从单独的文件加载信息,而不是类似于以下内容:
  • #加载users.json文件
    将open('users.json','r')作为f:
    config=json.load(f)
    
    这里还有我用来帮助加载此文件的JSON文件

    工作的JSON文件:

    {
            "sec_group_removal": {
                    "name_key": "<INSERT_NAMEKEY>"
            }
    }
    
    我不必使用
    JSON
    文件来加载它,例如,我有一个excel文件、文本文件或csv文件,其中包含放置在用户namekey中所需的信息。这里的任何想法或方向都很好。无论哪种方式,我都不认为从单独的文件加载
    JSON
    。但出于好奇,这不起作用:

    (配置['sec\u group\u removation']['target\u users']['user\u 1']['name\u key'])
    
    此外,我意识到
    ['user_1']必须是从
    JSON`文件本身定义的变量

    {
                    "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>"
                                    }
                            }
                    }
    }