Python 您可以设置屏幕大小并在没有显示器的情况下使用pyautogui/selenium chrome驱动程序吗

Python 您可以设置屏幕大小并在没有显示器的情况下使用pyautogui/selenium chrome驱动程序吗,python,pyautogui,Python,Pyautogui,是否有人知道如何强制pyautogui或python识别设置的屏幕大小并接收显示数据,即使没有连接显示器 我有一个使用pyautogui和selenium chrome驱动程序的任务,这两个程序都需要显示,否则就会失败 它在服务器上运行,因此程序的启动需要我的笔记本电脑将桌面远程连接到服务器,使其具有显示功能,从而可以启动带有chromedriver的页面,pyautogui单击组件/屏幕搜索即可工作 问题是,如果我的家庭网络曾经关闭,它无法启动远程桌面,因此我的自动化将失败 我的解决方案是模拟

是否有人知道如何强制pyautogui或python识别设置的屏幕大小并接收显示数据,即使没有连接显示器

我有一个使用pyautogui和selenium chrome驱动程序的任务,这两个程序都需要显示,否则就会失败

它在服务器上运行,因此程序的启动需要我的笔记本电脑将桌面远程连接到服务器,使其具有显示功能,从而可以启动带有chromedriver的页面,pyautogui单击组件/屏幕搜索即可工作

问题是,如果我的家庭网络曾经关闭,它无法启动远程桌面,因此我的自动化将失败

我的解决方案是模拟或强制程序的行为就像存在一个显示一样,这样它就可以在服务器端运行

我所有的服务器都是windows,所以XVFB似乎不是基于windows的选项

您应该模拟显示器驱动程序。运行:

xvfb-run --server-args="-screen 0 1024x768x24" python my_script.py

要启动您的脚本,而不仅仅是
python my_script.py

我定期使用类似的东西, 我正在使用Windows server运行使用selenium webdriver的自动python脚本。 因此,首先,您的答案是您需要在脚本中使用屏幕大小代码,并且您可以使用Windows任务调度器运行该脚本,这样您就不必触摸笔记本电脑或桌面来运行远程桌面。 如果将chrome用作无头浏览器,则可以使用chrome选项

我还建议,如果您使用的服务器由提供定期更新的第三方控制,那么您可以使用
chromedriver\u autoinstaller
软件包根据您当前的chrome版本获取更新或支持的chrome驱动程序版本

代码:

对于自动化任务,Windows任务调度程序是最佳选择。您可以参考此文档或根据需要查找一些内容


注意:如果您只需要设置屏幕大小,那么您的答案从这里开始
#最大化chrome

我添加到了问题中,为了澄清解决方案必须在windows服务器上运行,我也应该澄清,我不太熟悉从命令行运行,我所做的需要是我的下属可以用python打开并在我不在时运行的东西
import chromedriver_autoinstaller
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
from selenium.webdriver.chrome.options import Options
chromedriver_autoinstaller.install()
#maximize the chrome
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('website address')