我在python selenium中使用未检测到的chromedriver,我的问题是它总是在程序结束后关闭窗口。例如,我有一行代码:
driver.get('www.google.com')
它显然打开了谷歌,但随后立即关闭了窗口。当我使用自己的Chromedriver时,窗口保持打开状态,即使程序结束,我仍然可以在那个窗口上冲浪。有什么办法吗?
lvjbypge1#
我只是添加一个time.sleep(100)函数,或者终止内核
zbwhf8kr2#
未检测到的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()
kiayqfof3#
这是因为未检测到的chromedriver析构函数会在类被销毁时终止chrome进程。然后可以扩展该类并重写__del__方法
__del__
import undetected_chromedriver.v2 as uc class My_Chrome(uc.Chrome): def __del__(self): pass driver = My_Chrome() driver.get('www.google.com')
3条答案
按热度按时间lvjbypge1#
我只是添加一个time.sleep(100)函数,或者终止内核
zbwhf8kr2#
未检测到的chromedriver Chrome类中的原始del方法会退出驱动程序:
扩展类并覆盖del方法,保留原始内容并注解掉self.quit()语句:
现在,使用创建驱动程序
kiayqfof3#
这是因为未检测到的chromedriver析构函数会在类被销毁时终止chrome进程。
然后可以扩展该类并重写
__del__
方法