Chr*_*uer 8 selenium google-chrome docker
我正在使用官方的 selenium chrome 驱动程序 图片:https ://hub.docker.com/r/selenium/standalone-chrome/
不幸的是,我无法在容器中截取屏幕截图。
这段代码在容器之外运行得很好:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.python.org")
driver.save_screenshot("some_file.png")
driver.close()
Run Code Online (Sandbox Code Playgroud)
但在容器中,save_screenshot 返回 false。我在chrome的github上发现了一个小提示,必须设置屏幕尺寸和深度,但是将它们设置为1920 * 1080 * 24并没有改变任何东西
如果您使用容器,那么您应该考虑使用完全独立的浏览器容器。Selenoid(或其 Kubernetes 版本 Moon)利用 Selenium Grid 机制来实现此目的。这意味着代码中唯一需要的就是指定 Selenium Hub 服务器和所需的浏览器版本。
capabilities = {
"browserName": "chrome",
"version": "109.0"
}
context.driver = webdriver.Remote(
command_executor="http://localhost:4444/wd/hub",
desired_capabilities=capabilities)
Run Code Online (Sandbox Code Playgroud)
远程驱动程序完全支持从任何浏览器截图,您无需担心维护浏览器驱动程序和浏览器。
官方网页: https: //aerokube.com/selenoid/latest/
| 归档时间: |
|
| 查看次数: |
5592 次 |
| 最近记录: |