首页 > 解决方案 > 除了 CSS 缩放之外,有没有办法使用 c# 和 selenium 来缩小 chrome?

问题描述

我使用硒访问网页(角度)。如果我在 chrome 中手动缩小页面,则会出现菜单并且更易于导航。我想对 selenium 和 c# 做同样的事情。很多帖子都提出了类似的问题,但并不完全相同。让我解释:

  1. CSS 缩放

    ((IJavaScriptExecutor)driver).ExecuteScript("document.body.style.zoom = '70%'");
    

    页面被缩小但角度网页没有检测到,隐藏菜单没有显示,所以对我不好。

  2. 用键缩放:

    new Actions(driver).SendKeys(Keys.Control).SendKeys(Keys.Subtract).Perform();
    

    它不会改变我的缩放级别。没有例外,它只是什么都不做。我尝试了其他 SendKeys 方法但没有成功。

  3. 使用 chrome 设置缩放

    driver.Url = "chrome://settings";
    ((IJavaScriptExecutor)driver).ExecuteScript("chrome.settingsPrivate.setDefaultZoom(0.66);");
    

    这会更改缩放级别,但在第一行之后会有一条错误消息:“无法从内部尚未存在的加载辣椒模块”。之后,webdriver 工作不正常。例如,单击以前有效的按钮的代码不再有效。

有什么新想法吗?

标签: cssselenium-webdriverselenium-chromedriver

解决方案


要缩小作为替代方案,您可以使用以下解决方案:

((IJavaScriptExecutor)driver).ExecuteScript("document.body.style.transform='scale(0.6)';");

注意:在通过Selenium执行测试期间放大/缩小到 100% 以外的任何值都可能导致测试不稳定。具体来说,Internet Explorer 驱动程序的必需配置部分明确提到:

浏览器缩放级别必须设置为100%,以便可以将本机鼠标事件设置为正确的坐标。


推荐阅读