我用

gem 'selenium-webdriver'

要使用rails拍摄我的linux服务器的网页截图,请执行以下操作:
def test
  width = 1024
  height = 728
  driver = Selenium::WebDriver.for :firefox
  driver.navigate.to 'http://google.fr'
  driver.execute_script %Q{
   window.resizeTo(#{width}, #{height});
  }
  driver.save_screenshot("#{Rails.root}/screenshot.png")
  driver.quit
end

我需要在没有显示的服务器上不安装浏览器的情况下执行此操作。
如何在无头模式下执行?

最佳答案

你可以直接用硒来测试。为此,您需要xvfb和firefox。在ubuntu上:

sudo apt-get install xvfb
sudo apt-get install firefox

然后,您将需要使用一些显示号码运行xvfb(为了避免冲突,请选择更高的号码):
sudo Xvfb :99 -ac

使用与启动xvfb相同的编号导出env var display。如果没有在后台运行xvfb,则需要另一个终端:
export DISPLAY=:99

现在试着运行你的代码

关于linux - 用Rails selenium-webdriver headless 通过Linux服务器获取网页屏幕,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28255392/

10-12 21:20