Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 在Ubuntu 14.04上的无头Chrome中运行Flash网页_Google Chrome_Ubuntu_Flash_Cucumber_Headless - Fatal编程技术网

Google chrome 在Ubuntu 14.04上的无头Chrome中运行Flash网页

Google chrome 在Ubuntu 14.04上的无头Chrome中运行Flash网页,google-chrome,ubuntu,flash,cucumber,headless,Google Chrome,Ubuntu,Flash,Cucumber,Headless,我试图在Ubuntu 14.04 EC2实例上使用Chrome无头运行Cumber测试,因此没有GUI。到目前为止,我的设置允许这样做,如下屏幕截图所示: 当我看到一个带有flash的页面时,我遇到了一个问题: 我已经重新启动了EC2实例并杀死了所有的chrome进程,但仍然没有任何乐趣 为了澄清,一个测试将启动,chrome打开带有flash的页面,我收到了这个消息。如果我结束测试并重新开始,我会遇到同样的问题。我想这并不是重新启动chrome,因为它每次都是一个新实例 因此,为了运行这些测试

我试图在Ubuntu 14.04 EC2实例上使用Chrome无头运行Cumber测试,因此没有GUI。到目前为止,我的设置允许这样做,如下屏幕截图所示:

当我看到一个带有flash的页面时,我遇到了一个问题:

我已经重新启动了EC2实例并杀死了所有的chrome进程,但仍然没有任何乐趣

为了澄清,一个测试将启动,chrome打开带有flash的页面,我收到了这个消息。如果我结束测试并重新开始,我会遇到同样的问题。我想这并不是重新启动chrome,因为它每次都是一个新实例

因此,为了运行这些测试,我使用了headless gem作为xvfb的接口

我有Google Chrome 57.0.2987.133,并在/opt/Google/Chrome/plugin中添加了libflashplayer.so

我尝试过的一些额外的事情包括:

sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install
有没有办法让它工作,这样我就可以渲染基于flash的网站?每次打开chrome时是否需要启用flash插件?我希望我错过了一些明显的东西

使现代化 在创建Chrome配置文件时,我尝试过设置pepperflashpluginpath,但仍然不起作用:

Capybara.register_driver :chrome do |app|
  chrome_binary = '/usr/bin/google-chrome'

  Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => { "binary" => chrome_binary, "args" => ["--ppapi-flash-path=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so"] })
  Capybara::Selenium::Driver.new(app, :browser => :chrome, :desired_capabilities => capabilities)
end

谢谢

要想让它发挥作用,有三个关键部分

安装Chromium浏览器

Chrome二进制文件现在安装在

/usr/bin/chromium-browser
安装Flash插件

首先转到/etc/apt/sources.list并取消对行的注释

deb http://archive.canonical.com/ubuntu trusty partner
deb-src http://archive.canonical.com/ubuntu trusty partner
然后跑

sudo apt-get update
sudo apt-get install adobe-flashplugin
sudo apt-get install chromium-chromedriver
sudo ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/chromedriver
这将在以下位置安装flash插件:

/usr/lib/adobe-flashplugin/libflashplayer.so
安装Chrome驱动程序

然后跑

sudo apt-get update
sudo apt-get install adobe-flashplugin
sudo apt-get install chromium-chromedriver
sudo ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/chromedriver

差不多就是这样,这些步骤让我用Cucumber headless来运行它。

不清楚。。。所以,当你按照图2所示重新启动Chrome时,Flash内容会显示吗?我的意思是,你真正的问题是因为我重新启动了,所以重新启动永远不起作用。。。还是没有快乐,还是。。b如何始终自动启用?因为每次打开Chrome时我是否需要启用flash插件?对此,我深表歉意。我对这个问题做了一些澄清,但我回答了你的问题。我想我的问题是,每次我启动一个chrome会话实例时,如何自动启用flash插件,因为目前浏览器似乎知道插件存在,但没有启用它。希望这能让老师认为你需要手动打开chrome并进入该网站,选择始终允许chrome出现在该页面上。然后关闭chrome并运行脚本。我敢肯定,当你的测试运行时,它会使用默认的chrome配置文件,因此,通过允许手动更新配置文件,你就可以自己更新配置文件,这样你的测试就可以工作了。我无法打开chrome,因为这都是通过命令行完成的,但是我在几个小时前解决了这个问题,稍后会发布我的答案,以便其他人可以使用benefit@Atlas1j我刚刚发布了我的答案,希望能有所帮助