需要有关如何使用chromedriver

时间:2016-03-28 21:41:36

标签: selenium-webdriver google-chrome-devtools selenium-chromedriver emulation

我正在使用具有chrome所需功能的selenium webdriver在仿真模式下在桌面浏览器上工作。我需要在我的代码的某些行之后更改高度和宽度属性。以下是我用于启动模拟chrome浏览器的提取。但是如何更改高度和宽度属性而不必再次重新启动浏览器。

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\chromedriver.exe"); 

Map<String, Object> deviceMetrics = new HashMap<String, Object>();
deviceMetrics.put("width", 900);
deviceMetrics.put("height", 700);
deviceMetrics.put("pixelRatio", 4.0);

Map<String, Object> mobileEmulation = new HashMap<String, Object>();
mobileEmulation.put("deviceMetrics", deviceMetrics);
mobileEmulation.put("userAgent", "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like   Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53");

Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("mobileEmulation", mobileEmulation);

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

driver = new ChromeDriver(capabilities);

我需要将宽度更改为700,将高度更改为900.请提出任何建议。

1 个答案:

答案 0 :(得分:4)

编辑:我的初步答案是您所需要的只是:

driver.manage().window().setSize( new Dimension(700, 900) );

(这里是WebDriver规范中方法的full details。如果你打开了一个窗口,你可以随时调用它。)

然而,这根本没有工作。它只是调整整个浏览器框架的大小,这是无用的,因为Chrome使用原始的移动仿真维度创建自己的内部框架,无法使用WebDriver方法调整其大小。 (这是公平的,因为这是特定于Chrome的功能。)

例如,当我运行原始附加代码时,窗口大小变为(1247,1319),因此将其大小调整为(700,900)只会减小整体帧大小,从而导致内框滚动。 / p>

我还没有找到有关在运行期间修改Chrome选项的任何其他信息,因此我只能得出结论不是