以下用于调整selenium chrome窗口大小的代码无效:
driver.set_window_size(1920, 1080)
time.sleep(5)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px.".format(size["width"], size["height"]))
其输出为:
Window size: width = 1044px, height = 788px
我也尝试过使用选项来设置驱动程序创建时的窗口大小(以及许多其他事情,如下面的注释),但也无法使其工作:
options.add_argument("--window-size=1920,1080")
我使用selenium 3.14.0,铬驱动程序版本72.0.3626.109并在后台/无头模式下运行:我实际上需要在后台运行我的代码,这意味着它会在后台自动启动。我认为无头和背景有细微的区别,无头和背景在启动时与特定用户相关,背景也是无头,但可能与特定用户无关,可能有其他特质——我开始认为这可能是我问题的一部分。
我想让chrome驱动工作,因为火狐不运行在后台(我需要),和ie是一个痛苦。
我想弄明白这一点,因为当窗口太小时,我看不到需要单击的元素。
所以我终于明白了问题所在:运行Windows task scheduler并选择“无论用户是否登录都运行”只会打开一个无法调整大小的小浏览器(1024x768),即使这里提供了所有很好的建议。
请参阅此处解决的相同问题:windows任务计划程序中“无论用户是否登录都运行”模式下的屏幕分辨率
因此,不太理想的解决方案是仅在用户登录时运行。
谢谢你所有的帮助!
而不是
options.add_argument("--window-size=1920,1080")
你能试试这个吗。
options.add_argument('window-size=1920x1080');
或者
options.add_argument("--start-maximized")
有点不清楚为什么你会被困在哪里。可能是额外的
如
height={}px中所示
正在制造混乱。也许我可以通过
-headless
参数设置/检索Chrome浏览器窗口大小,如下所示:
>
代码块:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless")
options.add_argument("window-size=1400,600")
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe', service_args=["--log-path=./Logs/DubiousDan.log"])
driver.get("http://google.com/")
print ("Headless Chrome Initialized")
print(driver.get_window_size())
driver.set_window_size(1920, 1080)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px".format(size["width"], size["height"]))
driver.quit()
控制台输出:
Headless Chrome Initialized
{'width': 1400, 'height': 600}
Window size: width = 1920px, height = 1080px
您可以在以下网站上找到一些关于窗口大小的相关讨论:
python: Selenium Firefox无头返回不同的结果
- java:无法最大化Chrome窗口在无头模式
问题内容: 由于某些原因,当我在工作中运行测试时,浏览器会最大化,但是当我在家运行测试时,它只会打开大约50%宽度的浏览器窗口。这会导致向下滚动等方面的差异,因此理想情况下,我希望在运行测试的每台计算机上,以相同大小打开浏览器窗口。最好的方法是什么?(我找到了其他语言的一些答案,但无法将它们改编成JavaScript) 新增中 什么也不做(显然,Chrome不支持)。 问题答案: 您可以通过运行以
问题内容: 我有一个3d渲染程序,该程序根据鼠标在屏幕上的位置围绕观察者旋转世界。这条线定义了地球旋转的弧度量 其中xy [0]是屏幕中心的x坐标 这意味着观察者视野的旋转量受到鼠标可以移动的距离的限制。如果我能使鼠标回到屏幕中央,则可以解决此问题。有任何想法吗? 问题答案: 好消息是有一种方法可以做到。 中间的消息是,它没有很好的记录。 坏消息是它仅在某些平台上有效。 另一个中间消息是,您至少可
我正在尝试为KendoDropDownList设置下拉窗口的宽度。使用以下代码: 下拉列表显示并且是KendoDropDownList。所以我知道调用var ddl=$(“#dropdownlist”)。kendoDropDownList()正在工作。但是,我在调用kendoDDL时遇到一个异常。列表宽度(400)。 0x800a138f-JavaScript运行时错误:无法获取未定义或空引用的属
问题内容: 我将GhostDriver用作基于Java的项目中的WebDriver实现。我想拍摄页面快照。默认页面大小有点尴尬,因此我想控制快照的页面大小。但是,我找不到Google提供的任何示例。那么,有人可以告诉我如何吗?非常感谢你。 问题答案: 你尝试过的方法吗?这是文档。
运行新页时,必须使用函数指定视口的大小: