使用从this SO question借来的以下任何解决方案来杀死驱动程序时:
driver.close()
或:
driver.quit()
或两者一起:
driver.close()
driver.quit()
或者这个:
import signal
driver.service.process.send_signal(signal.SIGTERM) # kill the specific phantomjs child proc
driver.quit()
它工作,窗口关闭,我检查过程,似乎没有留下任何东西,
"phantomjs" in (p.name() for p in psutil.process_iter())
返回False,希望这足够可靠,知道进程已经死了。我的眼睛也通过任务管理器验证了它(使用win 10)。 我遇到的问题是当我尝试实例化一个新的驱动程序时。我像平常一样启动它并打开窗口:
driver = webdriver.PhantomJS
driver()
但是一旦我尝试传递这样的命令:
driver.set_window_size(1200, 1080)
shell返回此错误:
TypeError: unbound method set_window_size() must be called with WebDriver instance as first argument (got int instance instead)
我尝试了多个命令,有时它是“得到int实例”,有时“得到str实例”。任何人都知道我做错了什么?我想要同时运行同步驱动程序(一个没有代理,可以是不同的发射器),或者杀死原始并打开一个工作原件。还尝试使用chrome驱动程序进行多运行,在相同条件下返回相同的错误。
答案 0 :(得分:1)
元素初始化后缺少a()。如果你已经浪费了7个小时的生命,我希望你现在感到有些宽慰,因为你知道初始化驱动程序的正确方法是driver = webdriver.PhantomJS()。