我面临完全相同的问题https://github.com/mozilla/geckodriver/issues/1358。
从 linux 截取的 Firefox-headless 模式截图缺少输入框
问题:
我们有什么办法可以解决这个问题。我正在使用 FF 83
我面临完全相同的问题https://github.com/mozilla/geckodriver/issues/1358。
从 linux 截取的 Firefox-headless 模式截图缺少输入框
问题:
我们有什么办法可以解决这个问题。我正在使用 FF 83
这可以使用 Firefox 设置来解决。
widget.disable-native-theme-for-content
至true
参考 :
https://www.reddit.com/r/firefox/comments/k2nghh/any_alternatives_for_firefoxlinuxheadless/
PS:感谢回答我问题的reddit用户:)
我验证它正在工作。
你没看错。对于Selenium驱动的GeckoDriver在无头模式下启动的firefox 屏幕截图无法正确显示表单控件。
此问题已关闭,因为原始问题与 Firefox 相关,并且通过某些输入字段在无头模式下截屏时为黑色特定于提到的linux平台进行跟踪:@Michael Smith
看起来这是由于在 GTK下没有在 headless 模式下创建 nsITheme 对象,因为 nsNativeThemeGTK 依赖于我们无法在 headless 模式下访问的 API。因此,这不应影响 Windows 和 macOS 平台。
他进一步详细说明:
当 nsITheme 对象不可用时,我们有现有的备用路径,但在正常情况下,它们似乎没有在任何 Windows、macOS 或 Linux 上执行。例如,下拉按钮的宽度由下拉列表中滚动条的宽度决定。这由 GetNondisappearingScrollbarWidth测量,归结为询问垂直滚动条 nsBoxFrame 它的首选宽度是多少。通常这最终是使用调用特定于平台的代码的 nsITheme::GetMinimumWidgetSize 来计算的;在没有主题的情况下,我们依靠应用到滚动条 XUL 元素及其子元素的 CSS 计算的大小。请注意, 垂直滚动条拇指具有指定的最小高度,但没有最小宽度,因此计算出的滚动条宽度最终为 0,下拉按钮最终为 0 宽度。为 thumb[orient="vertical"] 添加最小宽度会导致下拉按钮在无头模式下显示。它还会使滚动条沿侧面显示,但没有为滑块设置颜色,因此它只是一条白色条带。
这个问题被分配了优先级 3,并且仍然处于打开状态,没有其他选择。