我正在使用未检测到的chromedriver在python selenium中,我的问题是它总是在结束程序后关闭窗口。
例如,我有这样一行代码:driver.get('www.google.com')
它显然打开了谷歌,但随后立即关闭了窗口。当我使用自己的chromedriver时,窗口保持打开状态,即使程序结束,我仍然可以在该窗口上冲浪。
解决方案吗?
未检测到的chromedriver Chrome类中的原始del方法退出驱动程序:
def __del__(self):
try:
self.service.process.kill()
except: # noqa
pass
self.quit()
扩展类并覆盖del方法。保留原始内容并注释掉self.quit()语句:
class MyUDC(uc.Chrome):
def __del__(self):
try:
self.service.process.kill()
except: # noqa
pass
# self.quit()
现在用
创建驱动程序driver = MyUDC()
我只是添加一个time.sleep(100)函数,或者杀死内核
这是因为未检测到的chromedriver析构函数在类被销毁时终止了chrome进程。
然后您可以扩展类并覆盖__del__
方法
import undetected_chromedriver.v2 as uc
class My_Chrome(uc.Chrome):
def __del__(self):
pass
driver = My_Chrome()
driver.get('www.google.com')