请注意,Selenium 假定缩放级别为 100%!例如,当缩放级别不同时,IE 将拒绝启动(抛出异常),因为定位的元素取决于此,如果您更改缩放级别,它会在错误的位置点击错误的元素。
Java
您可以使用Keys.chord() 方法:
WebElement html = driver.findElement(By.tagName("html"));
html.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
谨慎使用,完成后将缩放重置为 100%:
html.sendKeys(Keys.chord(Keys.CONTROL, "0"));
C#
(因为我意识到 C# 绑定没有Keys.chord() 方法)
或者,您可以像这样使用Advanced User Interactions API(同样,Java 代码,但它在 C# 中的工作方式应该相同):
WebElement html = driver.findElement(By.tagName("html"));
new Actions(driver)
.sendKeys(html, Keys.CONTROL, Keys.ADD, Keys.NULL)
.perform();
再次提醒,事后不要忘记重置缩放:
new Actions(driver)
.sendKeys(html, Keys.CONTROL, "0", Keys.NULL)
.perform();
请注意,天真的方法
html.sendKeys(Keys.CONTROL, Keys.ADD);
不起作用,因为在此sendKeys() 方法中释放了 Ctrl 键。 WebElement's sendKeys() 与 the one in Actions 不同。因此,我的解决方案中使用的Keys.NULL 是必需的。