Python Selenium PhantomJS quit()错误

时间:2017-03-09 21:23:22

标签: python selenium phantomjs

我的机器空间有限。所以,我正在运行一个循环,进入一个网站,登录,跟随链接并刮擦数据。为了限制使用的空间,我调用一个关闭并退出webdriver的函数。然后我打开一个新的,再次登录并按照不同的链接。在我调用driver.quit()之后3到4次我得到错误。

var user = _users.Include(u => u.Role).SingleOrDefault(u => u.UserId == id);
var userRoleQuery = db.Entry(user).Reference(u => u.Role).Query();
if (user.Role is ManagerUserRole)
    userRoleQuery.OfType<ManagerUserRole>().Include(r => r.Groups).Load();
else if (user.Role is PersonUserRole)
    userRoleQuery.OfType<PersonUserRole>().Include(r => r.Group).Load();
return user;

我的Mac上没有这个问题,但是当我尝试在IBM bluemix上运行它时。我收到错误:

def close_driver(driver):
  driver.close()
  driver.quit()
  return

1 个答案:

答案 0 :(得分:1)

有时PhantomJS会在尝试关闭已关闭的实例时遇到这些错误。不要同时运行close()quit(),只需运行quit()即可。 quit()将执行所有必要的功能,以正确关闭和退出webdriver实例。