WWW::Mechanize::Chrome(和其他)的 WebGL

WebGL with WWW::Mechanize::Chrome (and others)

我需要 运行 一个在 iFrame 中访问 WebGL 的自动化进程 - 无头,并且在登录后。

到目前为止,我已经尝试过以不同的方式做到这一点:

后者是运行这样的:

my $mech = WWW::Mechanize::Chrome->new(
                       headless => 0,
                       launch_exe => '/usr/bin/xvfb-run -a --server-args="-screen 0 1280x800x24 -ac -nolisten tcp -dpi 96 +extension RANDR" /usr/bin/google-chrome',
                       launch_arg => ["--headless" , "--no-sandbox"],
                      );

有什么我没试过但可以奏效的吗?我正在使用 perl - 但可能会不情愿地尝试 Python 如果它有机会工作。

xvfb-run 必须像这样添加到 perl 脚本中

/usr/bin/xvfb-run -a --server-args="-screen 0 1280x800x24 \
    -ac -nolisten tcp -dpi 96 +extension RANDR" \
    perl chrome_script.pl

所以它包装了脚本,以及其中的 chrome 实例。

manual for xvfb-run

我添加了 some documentation 来展示如何让 WebGL 与 Firefox::Marionette 一起工作,如果您仍然感兴趣的话。具体来说,你需要像这样初始化;

my $firefox = Firefox::Marionette->new( addons => 1, visible => 1 );