让selenium在--headless中显示浏览器

ykejflvf  于 2023-02-04  发布在  其他
关注(0)|答案(1)|浏览(208)

有没有办法运行selenium headless,但让它显示窗口,例如在应用程序启动时?如:

  • 显示浏览器登录执行验证码转到--headless执行任务 *
vs3odd8k

vs3odd8k1#

实际上,这是可能的。
您可以通过使用ChromeOptions中的“--remote-debugging-port”参数来查看无头浏览器。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--remote-debugging-port=9222') # Recommended is 9222
driver = webdriver.Chrome(options=chrome_options)

然后,当Selenium运行时,你可以在普通浏览器中访问http://localhost:9222来查看headless会话。你的浏览器将显示Chrome打开的每个标签页的链接,你可以通过点击链接来查看每个页面或与每个页面交互。你还可以在Selenium运行测试时监控Selenium/Chrome。
编辑:从Chrome 100左右开始,您现在需要转到chrome://inspect链接,以便在Selenium运行时在浏览器中查看headless会话。
您还需要做一些额外的配置。基本上:
1.选中“发现网络目标”复选框
1.点击“配置...”
1.向服务器列表添加链接“localhost:9222
学分:https://stackoverflow.com/a/58045991/1136132

相关问题