Selenium:在运行代码时禁用无头吗? Python

问题描述

我看到了这篇文章

How to make headless browser visible Python

但是显然,一旦代码运行,就不可能禁用无头,还有其他选择吗?

我的代码检测页面上是否存在验证码,显示窗口,并且一旦完成验证码,它就会再次隐藏窗口。

解决方法

,将无法 无头初始化,然后使其可见以解决captcha

在启动新的 Chrome浏览器会话的过程中,使用ChromeOptions()配置ChromeDriver来启动时,配置会被烘焙 strong>放入 chromedriver 可执行文件中,并将一直保留到 WebDriver 的生存期,并保持不可编辑。因此,您可以修改当前正在执行的 WebDriver 实例的 ChromeOptions

即使您能够提取 ChromeDriver ChromeSession 属性,例如来自已启动的 ChromeDriver Chrome浏览器会话会话ID 和其他会话属性,您仍然不会能够更改 ChromeDriver 的属性集。

一种更干净的方法是在driver.quit()方法中调用 tearDown(){} 关闭销毁当前的 ChromeDriver 和 Chrome浏览器实例,然后跨一组新的 ChromeDriver Chrome浏览器实例以及一组新的配置。


参考文献

您可以在以下位置找到一些相关的讨论