如何使用Selenium WebDriver在Chrome上将缩放重置为默认值?

时间:2018-03-12 18:14:45

标签: c# google-chrome selenium selenium-webdriver selenium-chromedriver

如何使用Selenium WebDriver将 Chrome缩放级别重置为默认值(100%)?使用键盘键和#34; Ctrl + 0"。

非常容易

然而,当我尝试使用WebDriver模拟它时,我无法获得任何工作。这是我尝试的没有成功:

    [TestMethod]
    public void ZoomToDefaultLevelWithChrome()
    {
        var driver = new ChromeDriver();
        driver.Navigate().GoToUrl("https://www.ultimateqa.com");
        var actions = new Actions(driver);
        var browser = (IJavaScriptExecutor)driver;
        var html = driver.FindElement(By.TagName("html"));

        //None of these work
        actions.SendKeys(Keys.Control).SendKeys(Keys.Add).Perform();
        actions.KeyDown(Keys.Control).SendKeys(Keys.NumberPad0).Perform();
        //actions.KeyDown(Keys.Control).SendKeys(Keys.NumberPad0).Perform();
        //actions.KeyDown(Keys.Control).SendKeys(html, "0").Perform();
        actions.KeyUp(Keys.Control);
        actions.KeyDown(Keys.Control).Perform();
        actions.SendKeys(html, "0").Perform();
        actions.SendKeys(html, Keys.NumberPad0).Perform();
        actions.SendKeys(Keys.NumberPad0).Perform();

        browser.ExecuteScript("document.body.style.zoom = '1.0'");
        browser.ExecuteScript("document.body.style.transform='scale(1.0)';");
        browser.ExecuteScript("document.body.style.zoom='100%';");

    }

此处的前2个解决方案无法在C#中工作:Selenium webdriver zoom in/out page content 此外,即使可能在其他浏览器中,这在Chrome中也无效:selenium vba code to zoom out webpage to 60%

2 个答案:

答案 0 :(得分:1)

你能尝试以下吗?这应该有用。

((IJavaScriptExecutor)driver).executeScript("document.body.style.zoom='100%';");

答案 1 :(得分:0)

我也遇到过这个问题,我发现一个很好的工作就是设置分辨能力

capability.SetCapability("resolution", 1920x1080);