NameError: name 'close' is not defined error using Selenium Webdriver through Python

NameError: name 'close' is not defined error using Selenium Webdriver through Python

它一直显示相同的错误:

NameError: name 'close' is not defined

我也尝试过 quit() 并且它有效,但我只需要关闭一个浏览器。

代码:

def browser_func():
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    username = "USER"
    password = "PASS"
    driver = webdriver.Chrome('C:/Users/cimin/Downloads/chromedriver_win32/chromedriver')
    driver.get("LINK")
    element = driver.find_element_by_xpath("//input[@name=\"username\"]")
    element.send_keys(username)
    element = driver.find_element_by_xpath("//input[@name=\"password\"]")
    element.send_keys(password)
    element.send_keys(Keys.RETURN)
    element = driver.find_element_by_xpath('//*[@id="module-2970"]/div/div/div[2]/div[1]/a/span')
    element.click()
    if input('done?') == 'y':
        close()

browser_func()

有什么建议吗?

close() 方法被定义为远程 webdriver 方法。

实际上你需要停止调用:

close()

并通过实例调用close()方法,即driver如下:

driver.close()

试试这个 Python 3.x -

driver.close()

quit() 是一个 Python 关键字,它不会暂停 selenium,而是会完全退出 Python 程序。 尝试 'driver.close()' 或 'driver.quit()' 关闭 selenium 标签。 More info here