我正在使用Selenium打开一个网站,登录并从一个网站复制一些信息。但是,它正在我的工作站上发生,并且有一个显示监视器。
我的 IT 团队希望将此过程移动到没有监视器的虚拟服务器。
1.这是否有效 - 即使我们在服务器上安装了火狐浏览器 2. 我们可以铬 - 无头来实现这一目标吗 3. 任何其他方式 - 我们可以考虑使用 Xserver
请让我知道。
Chrome 无头应该在这里解决您的问题 - 我过去曾通过我的一些自动化做到这一点并取得了成功。
请记住使用ChromeOptions
添加--headless=new
标志(旧--headless
标志的最新升级版本(请参阅文档(。
您可能还需要调整其他一些ChromeOptions
- 我还必须添加--disable-gpu
和--window-size=1920,1200
才能使我的正常工作。
否 .要运行脚本,您不需要监视器。您可以通过远程连接访问虚拟机,也可以从该计算机开始执行。执行开始后,您可以关闭远程桌面会话,执行将继续在远程计算机或虚拟服务器上运行。
我希望这有所帮助。如果您有任何其他问题,请告诉我。
1.这是否有效 - 即使我们在服务器上安装了 Chrome 或 Firefox -是的,它会起作用
2.我们可以Chrome - 无头来实现这一点 -如果您打算仅使用虚拟服务器执行,那么您不需要在无头模式下运行。对于不需要可见 UI 外壳的环境,需要无头执行。下面的代码将帮助您在无头模式下运行脚本
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.任何其他方式 - 我们可以想到使用Xserver -不确定