我有个问题。是否可以在服务器(amazon ec2)上运行python脚本,该脚本使用selenium从动态网站中获取数据。我试图找到一些有关这方面的信息,但这没有结果。
感谢大家!
服务器不使用GUI / Windows,甚至没有监视器。它被称为“无头”服务器(因为监视器看起来像服务器的头部)
Selenium运行Web浏览器,需要GUI / Windows才能显示其窗口。
但是一些Web浏览器也可以在不显示窗口的情况下运行 - 它们可以运行headless
。
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=chrome_options)
对于Firefox应该是类似的代码。
还有Selenium的网络驱动器PhantomJS工作无头,但它不再开发。
Linux也有程序Xvfb,它可以在无头计算机上创建虚假/虚拟监视器,它可以运行无法在没有GUI / XWindows的情况下运行的程序。
我没有检查它,但这种方法之一可能适用于Amazon EC2。