如何在循环中重新打开 selenium 浏览器:Python
Posted
技术标签:
【中文标题】如何在循环中重新打开 selenium 浏览器:Python【英文标题】:How to reopen selenium browser in a loop: Python 【发布时间】:2022-01-23 09:26:16 【问题描述】:我正在尝试关闭浏览器并在循环后重新打开它
class Bot():
driver = webdriver.Chrome(options=chrome_options)
def __init__(self):
self.openyoutube
self.quitbrowser()
def openyoutube(self):
self.driver.get('https://www.youtube.com')
sleep(5)
def quitbrowser(self):
self.driver.quit()
def main():
while True:
my_bot = Bot()
sleep(15)
if __name__ == '__main__':
main()
但是一旦它试图重新开始,它就会抛出这个错误:
raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', 端口 = 64578):最大重试次数超出 url: /session/f7fcdfe14c3e2c75d530b3cbf70348d2/url(由 NewConnectionError('
:无法建立新连接:[Errno 61] 连接被拒绝'))
【问题讨论】:
【参考方案1】:raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=64578): Max retries exceeded with url: /session/f7fcdfe14c3e2c75d530b3cbf70348d2/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb6d71f8250>: Failed to establish a new connection: [Errno 61] Connection refused'))
通常在出现此错误后,我们会重新初始化驱动程序,您可以通过对 Maxretryerror 使用 try catch 来执行此操作。
driver = webdriver.Chrome(options=chrome_options)
【讨论】:
感谢您的回复,我尝试捕获 MaxRetryError,但仍然遇到相同的错误。我需要导入一些东西吗?请展示如何捕获错误的示例。我可能做错了。 发布你的做法以上是关于如何在循环中重新打开 selenium 浏览器:Python的主要内容,如果未能解决你的问题,请参考以下文章