我用
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/