以下用于调整 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,chrome驱动程序版本72.0.3626.109,并在后台/无头模式下运行:我确实需要在后台运行我的代码,这意味着它会在后台自动启动。我认为headless和background之间有一个微妙的区别,前者启动时与特定用户关联,后者也是headless,但可能与特定用户不关联,可能有其他特性-我开始认为这可能是我的问题的一部分。
我想让chrome驱动程序工作,因为firefox不运行在后台(我需要),ie是一个痛苦。
我想解决这个问题,因为窗口太小,我看不到需要单击的元素。
4条答案
按热度按时间ki0zmccv1#
有点不清楚为什么你会卡住,也不清楚你到底在哪里卡住了。可能是
height = {}px.
中额外的**.
**造成了混乱。也许和-headless
参数一起,我可以如下设置/检索 * Chrome * 浏览器 * 窗口大小 *:时间;日期
您可以在以下内容中找到一些关于***窗口大小***的相关讨论:
dtcbnfnu2#
代替
你能试试这个吗。
或
2q5ifsrm3#
所以我终于弄明白了问题是什么:运行Windows任务调度程序与选项“运行无论用户是否登录”只打开一个小浏览器(1024x768),不能调整大小,即使所有伟大的建议正在这里提供。
在此查看解决的相同问题:窗口任务计划程序中“无论用户是否登录都运行”模式下的屏幕分辨率
因此,不太理想的解决方案是仅在用户登录时运行。
ds97pgxw4#
您可以在webdriver类中使用
set_window_size
函数:例如: