ImportError:sys.meta_path为None,Python可能正在关闭

问题描述 投票:4回答:2

Newbee在这里。请解释为什么会出现这个问题以及如何解决这个问题。

错误:

“C:\ Program Files(x86)\ Python36-32 \ python.exe”C:/Users/Vivek-Pc/PycharmProjects/tryOutSeries/searchTryout2.py在以下内容中忽略异常:> Traceback(最近一次调用最后一次):文件“C :\ Program Files(x86)\ Python36-32 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py“,第173行,在del文件”C:\ Program Files(x86)\ Python36-32 \ lib中\ site-packages \ selenium \ webdriver \ common \ service.py“,第149行,在停止文件”C:\ Program Files(x86)\ Python36-32 \ lib \ site-packages \ selenium \ webdriver \ common \ service中。 py“,第120行,在send_remote_shutdown_command中导入错误:sys.meta_path为None,Python可能正在关闭进程以退出代码0结束

使用代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver_path = "c:\Program Files (x86)\Python36-32\Lib\site-packages\selenium\webdriver\chrome\chromedriver"
b_obj = webdriver.Chrome(driver_path)
b_obj.implicitly_wait(15)
b_obj.maximize_window()
b_obj.get('http://stackoverflow.com/')

search_box = b_obj.find_element_by_name('q')
search_box.clear()
search_box.send_keys("Selenium")
search_box.submit()
b_obj.close()

环境信息:

Windows,Selenium,Python,Chrome(chromedriver.exe)和PyCharm

python-3.x selenium selenium-webdriver pycharm selenium-chromedriver
2个回答
7
投票

我使用Python 3.6,Selenium 3.0.2和ChromeDriver 2.27(此时最新的一切)重现了同样的错误。

当Python selenium webdriver在您明确关闭驱动程序时尝试stop the chromedriver service,或者脚本执行简单结束(并且__del__方法被执行)时,似乎会出现问题。

向Python / Selenium github问题跟踪器报告了这个问题:

解决方法:

我发现使用driver.quit()而不是driver.close()有助于解决问题。


0
投票

在CLI自动化项目中,我遇到了同样的问题。

要摆脱这种情况,您必须关闭打开的对象,例如:

  1. 如果在Paramiko上工作,必须关闭打开的处理程序client.close()shell.close()
  2. 如果处理文件操作,则file_handler.close()
  3. 如果在套接字上工作,那么我们就会关闭在它上面创建的对象。
© www.soinside.com 2019 - 2024. All rights reserved.