我正在使用Selenium玩一个由我开发的Web应用程序页面。
使用Selenium JavaScriptExecutor,我执行了以下脚本。
executor.executeScript("return window.innerWidth");
executor.executeScript("return window.innerHeight");
令我惊奇的是,所谓的视口尺寸在Chrome、IE和Firefox中不同。其中:Chrome: 1366x667
IE: 1366x667
Firefox: 1366x657。
后来我意识到,对于body和main div,我给它们设置了宽度和高度为100%的css样式,这会影响视口大小。由于不同的浏览器具有不同大小的工具栏和菜单,当实际页面呈现时,这个100%的值会改变。
因此,我使用window.resizeTo(w,h)来设置一个公共视口大小。但是,我发现除非窗口是由同一个脚本打开的,否则它在现代浏览器中不起作用。
因此,我使用了Selenium的...
driver.manage().window().setSize(new Dimension(w,h));
然而我无法设置通用的视口大小。
请帮忙查找,是否可以使用selenium设置通用视口大小?如果需要更多信息,请告诉我。
对于所有浏览器,我执行了以下代码:
driver.manage().window().getSize();
我得到的答案是1382x744。
因此,我相信这是关于整个浏览器窗口的,而不仅仅是渲染区域。 我很困惑,根据innerWidth的差异如何计算浏览器窗口的新大小?
备注:我已经将所有浏览器升级到最新版本(IE版本为11,因为我使用的是Windows 7),我正在使用的selenium版本是2.46.x。
driver.manage().window().setSize(w, h);
- Tom Netzband