我们如何在 selenium/protractor 中设置缩放级别,即缩放到 90%

How can we set zoom level in selenium/protractor i.e zoom to 90%

我们如何将 selenium/protractor 缩放页面大小的缩放级别设置为 90% 等等

要遵循 Selenium webdriver zoom in/out page content 上对其他 selenium 语言绑定的建议,设置缩放级别的一种方法是发送 CTRLCOMMAND on mac ) + - 组合(模仿 "zoom level down" 动作):

browser.actions().keyDown(protractor.Key.CONTROL).sendKeys(protractor.Key.SUBTRACT).keyUp(protractor.Key.CONTROL).perform();

或 mac:

browser.actions().keyDown(protractor.Key.COMMAND).sendKeys(protractor.Key.SUBTRACT).keyUp(protractor.Key.CONTROL).perform();

不过,我会在这里考虑另一种方法(未测试)。

打开 firefox,为所需站点设置缩放级别(默认情况下 firefox 会记住特定站点的缩放级别),然后打开 "Troubleshooting information" 并在磁盘上找到您的 firefox 配置文件。然后使用 How to change firefox profile 中提供的说明使用预先保存的配置文件启动 firefox,同时 运行 您的量角器测试。

不知道量角器中是否有等效项(因为从未工作过),但这就是我通过 JavascriptExecutor 在 java webdriver 中放大和缩小的方式,使用:

document.body.style.transform='scale(0.9)'

其中 0.9 是比例百分比。虽然对于缩放你也可以使用

document.body.style.zoom='90%'

但这不适用于 firefox 和 opera。 希望这会有所帮助。

对于硒:

((JavascriptExecutor)driver).executeScript("document.body.style.zoom='90%';");

对于量角器:

browser.executeScript("document.body.style.zoom='90%';");

SeleniumJava 可以通过两种方式更改缩放级别(其中一种方法是用于 Chrome,另一个用于 Firefox):


Chrome

使用 v̲e̲r̲s̲i̲o̲n̲ ̲3̲.̲3̲.̲1 of the Selenium Java Client Driver and C̲h̲r̲o̲m̲e̲D̲r̲i̲v̲e̲r̲ ̲2̲.̲2̲8 时,以下工作(单引号中的数字表示要使用的缩放级别;1 = 100%、1.5 = 150%,等等):

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("document.body.style.zoom = '1.5'");

火狐

可以通过以下方式修改缩放级别:
1. 前面提到的Java Client Driver
2. G̲e̲c̲k̲o̲D̲r̲i̲v̲e̲r̲ ̲v̲0̲.̲1̲5̲.̲0
3. 这些 class 是:
java.awt.Robot
java.awt.event.KeyEvent

首先,实例化机器人class:

Robot robot = new Robot();

此代码导致缩放级别降低:

robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_MINUS);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_MINUS);

此代码使缩放级别增加:

robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_EQUALS);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_EQUALS);