如何 运行 服务器上的 selenium 脚本
How to run selenium script on server
我有一个问题。
是否可以 运行 一个 python 脚本,它使用 selenium 从服务器(amazon ec2)上的动态网站抓取数据。
我多次尝试查找有关此的信息,但没有结果。
谢谢大家!
服务器不使用 GUI/Windows,他们甚至没有监视器。
它被称为'headless'服务器(因为监视器看起来像服务器的头部)
Selenium 运行 需要 GUI/Windows 才能显示其 window 的 Web 浏览器。
但有些网络浏览器也可以 运行 而不显示 window - 它们可以 运行 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 的 webdrive PhantomJS,它可以无头地工作,但不再开发了。
Linux 也有程序 Xvfb,它可以在无头计算机上创建 fake/virtual 监视器,它可以 运行 程序 运行 没有 GUI/XWindows.
我没有检查过,但其中一种方法可能适用于 Amazon EC2。
我有一个问题。 是否可以 运行 一个 python 脚本,它使用 selenium 从服务器(amazon ec2)上的动态网站抓取数据。 我多次尝试查找有关此的信息,但没有结果。
谢谢大家!
服务器不使用 GUI/Windows,他们甚至没有监视器。 它被称为'headless'服务器(因为监视器看起来像服务器的头部)
Selenium 运行 需要 GUI/Windows 才能显示其 window 的 Web 浏览器。
但有些网络浏览器也可以 运行 而不显示 window - 它们可以 运行 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 的 webdrive PhantomJS,它可以无头地工作,但不再开发了。
Linux 也有程序 Xvfb,它可以在无头计算机上创建 fake/virtual 监视器,它可以 运行 程序 运行 没有 GUI/XWindows.
我没有检查过,但其中一种方法可能适用于 Amazon EC2。