我使用的是官方的 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()
但是在container里面保存_screenshot返回false,我在chrome的github里面发现了一个小提示,screensize和depth必须设置,但是设置成1920 * 1080 * 24并没有改变什么
1条答案
按热度按时间zdwk9cvp1#
如果您使用容器,那么您应该考虑使用完全分离的浏览器容器。Selenoid(或其Kubernetes版本Moon)利用Selenium Grid机制来实现此目的。这意味着您的代码中唯一需要做的事情就是指定Selenium Hub服务器和所需的浏览器版本。
远程驱动程序完全支持从任何浏览器截图,您无需担心维护浏览器驱动程序和浏览器。
官方网页:https://aerokube.com/selenoid/latest/