如何在python 3中定义configparser

如何在python 3中定义configparser,python,configuration,Python,Configuration,我正在做一个项目,将登录到该网站,并将评论用户生成的内容 我使用selenium、chrome驱动程序和python 3。所有凭据用户名、密码和chromedriver位置都在单独的config.ini文件中配置 下面是python脚本: #!/usr/bin/python import os import time import getpass from selenium import webdriver from selenium.webdriver.common.keys import K

我正在做一个项目,将登录到该网站,并将评论用户生成的内容

我使用selenium、chrome驱动程序和python 3。所有凭据用户名、密码和chromedriver位置都在单独的config.ini文件中配置

下面是python脚本:

#!/usr/bin/python
import os
import time
import getpass
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from configparser import ConfigParser

# Reading configuration file
config = configparser.ConfigParser()
config.sections()

parser = ConfigParser()
parser.read('config.ini')
parameters = {}


for pairs in parser.sections():         # Parse the configuration file 
    for name, value in parser.items(pairs):
        parameters[name] = value

# Automating your browser 
chromedriver  = parameters["path"]
os.environ["webdriver.chrome.driver"] = chromedriver

#Uncomment this block if you don't want images to load(makes the procss a little bit faster)
'''
chromeOptions = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images":2}
chromeOptions.add_experimental_option("prefs",prefs)
browser = webdriver.Chrome(chromedriver, chrome_options=chromeOptions)
'''

browser = webdriver.Chrome(chromedriver)
browser.set_window_size(1120, 550)
browser.get("http://www.website.com")       # website home page 
time.sleep(3)                               

# Logging into website
form = browser.find_element_by_class_name('regular_login')
email = form.find_element_by_name("email")
password = form.find_element_by_name("password")
email.send_keys(parameters["email_id"])
try:
    pass_word = parameters["pass_word"]
except:
    pass_word = getpass.getpass()               # If you want to enter password on terminal
password.send_keys(pass_word)
password.send_keys(Keys.RETURN)
time.sleep(2)                                   

# Fetching answers page of t6he user
answers_url = "https://www.website.com/" + parameters["username"] + "/answers"      
browser.get(answers_url)                                    

 #commenting answers one by one from top to bottom 
counter=0
while True:
    try:
        elem=browser.find_element_by_xpath("//*[@action_click='enter']")
        counter=counter+1
        elem.click()
        time.sleep(4)
    except:
        break

print (str(counter) +" answers commented..")
我一直在

 config = configparser.ConfigParser()
NameError: name 'configparser' is not defined

请回答我如何定义配置

发生此错误是因为您尚未实际导入
configparser
。您已经从
configparser
导入了一些内容,但实际上还没有导入
configparser
本身

有两种解决方案

1) 您可以通过导入模块来定义它<代码>导入配置解析器

2) 或者按照错误下面的3行操作,并使用
config=ConfigParser()


如果您使用的是
configparser
的其他部分,那么我建议导入整个模块并使用选项1。如果您只使用了
ConfigParser
,那么我会选择选项2。

您会收到错误,因为您没有导入
ConfigParser
您已经从
ConfigParser
导入了
ConfigParser
。从错误所在的位置往下看3行,您将看到您没有使用
configparser.configparser()
Thank@DavidG。我应该导入configparser还是用config=configparser.configparser()替换config=configparser.configparser()