Selenium是否需要显示器

Does Selenium need display monitor

我正在使用 Selenium 打开一个网站,登录并从一个网站复制一些信息。但是它发生在我的工作站上并且有一个显示器。

我的 IT 团队想将这个过程转移到没有监视器的虚拟服务器上。

1.Will 这项工作 - 即使我们在服务器上安装 Chrome 的 Firefox 2. 我们可以 Chrome - 无头来实现这件事吗 3. 任何其他方式 - 我们可以考虑使用 Xserver

请告诉我。

Chrome headless 应该可以解决你的问题——我过去用我的一些自动化技术做过这个并且取得了成功。

只记得使用ChromeOptions添加--headless标志。您可能还需要调整其他一些 ChromeOptions——我还必须添加 --disable-gpu--window-size=1920,1200 才能让我的工作正常进行。

没有。 运行 你的脚本不需要监视器。您可以通过远程连接访问您的虚拟机,您可以从该机器开始执行。执行开始后,您可以关闭远程桌面会话,执行将继续 运行 在远程计算机或虚拟服务器上。

希望对您有所帮助。如果您还有其他问题,请告诉我。

1.Will 这个工作 - 即使我们在服务器上安装 Chrome 或 Firefox - 是的,它会工作

2.Can 我们 Chrome - 没头没脑地做到这一点 - 如果你打算使用虚拟服务器只是为了执行,那么你不需要 运行 在无头模式下。对于不需要可见 UI shell 的环境,需要无头执行。下面的代码将帮助您 运行 无头模式下的脚本

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')  # Last I checked this was necessary.
driver = webdriver.Chrome("/usr/local/bin/chromedriver", chrome_options=options)
driver.get("https://google.com")
#code to extract the details
driver.quit()

3.Any 其他方式 - 我们可以考虑使用 Xserver - 不确定