我用
gem 'selenium-webdriver'
通过我的 linux 服务器使用 rails 截取网页:
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
我需要在没有显示的情况下在我的服务器上不安装浏览器的情况下执行此操作。
如何在 headless 模式中执行此操作?
最佳答案
您可以在 selenium 上进行 headless 测试。为此,您需要 Xvfb 和 Firefox。在 Ubuntu 上:
sudo apt-get install xvfb
sudo apt-get install firefox
然后您需要使用一些显示编号运行 xvfb(最好使用较大的编号以避免冲突):
sudo Xvfb :99 -ac
使用与您启动 Xvfb 相同的编号导出环境变量 DISPLAY。如果你没有在后台运行 xvfb,你将需要另一个终端:
export DISPLAY=:99
现在尝试运行您的代码
关于linux - headless with rails selenium-webdriver 通过 linux 服务器获取网页屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28255392/