gpt4 book ai didi

selenium - 在 Selenium 中为远程 Webdriver 设置设备宽度

转载 作者:行者123 更新时间:2023-12-01 04:56:45 27 4
gpt4 key购买 nike

我将 Selenium grid 40 与在 Windows 7 中运行的 Firefox 远程驱动程序一起使用。我也使用 C# API。我想知道如何在 headless Firefox 浏览器上设置设备宽度。设备宽度小于 ipad 的最大宽度,这会导致它选择 ipad 特定的 css,其定义如下:

@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
/* For portrait layouts only */
}

@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) {
/* For landscape layouts only */
}

我已经使用以下方法更改了窗口大小:
driver.Manage().Window.Size = new System.Drawing.Size(1290,900)

但它仍然选择那些 css 指令。

其他信息:我的网格节点是没有人实际登录的虚拟机。我远程运行 selenium 网格,这可能是设备宽度很小的原因。它可能默认为 Windows 的最小分辨率。如果有办法改变它可能对我有帮助,但我不知道。

更新:我尝试通过 powershell 脚本将注册表中 DefaultSettings.XResolution、DefaultSettings.YResolution 和 DefaultSettings.BitsPerPel 的所有实例设置为 1290、900 和 16,然后重新启动计算机,但没有成功。

最佳答案

我不知道如何使用 selenium 设置设备宽度,但我想出了如何使用远程帧缓冲区来设置它。对我来说,这是 Xvbf。我在启动服务时传入屏幕分辨率。

下面是一个分辨率为 1024x768、深度为 24 的 Xvfb 服务示例。
https://gist.github.com/dloman/931d65cbb79b00593ac3dd5d0cdf37d9

关于selenium - 在 Selenium 中为远程 Webdriver 设置设备宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com