css - 除了 CSS 缩放之外,有没有办法使用 c# 和 selenium 来缩小 chrome?
问题描述
我使用硒访问网页(角度)。如果我在 chrome 中手动缩小页面,则会出现菜单并且更易于导航。我想对 selenium 和 c# 做同样的事情。很多帖子都提出了类似的问题,但并不完全相同。让我解释:
CSS 缩放
((IJavaScriptExecutor)driver).ExecuteScript("document.body.style.zoom = '70%'");
页面被缩小但角度网页没有检测到,隐藏菜单没有显示,所以对我不好。
用键缩放:
new Actions(driver).SendKeys(Keys.Control).SendKeys(Keys.Subtract).Perform();
它不会改变我的缩放级别。没有例外,它只是什么都不做。我尝试了其他 SendKeys 方法但没有成功。
使用 chrome 设置缩放
driver.Url = "chrome://settings"; ((IJavaScriptExecutor)driver).ExecuteScript("chrome.settingsPrivate.setDefaultZoom(0.66);");
这会更改缩放级别,但在第一行之后会有一条错误消息:“无法从内部尚未存在的加载辣椒模块”。之后,webdriver 工作不正常。例如,单击以前有效的按钮的代码不再有效。
有什么新想法吗?
解决方案
要缩小作为替代方案,您可以使用以下解决方案:
((IJavaScriptExecutor)driver).ExecuteScript("document.body.style.transform='scale(0.6)';");
注意:在通过Selenium执行测试期间放大/缩小到 100% 以外的任何值都可能导致测试不稳定。具体来说,Internet Explorer 驱动程序的必需配置部分明确提到:
浏览器缩放级别必须设置为100%,以便可以将本机鼠标事件设置为正确的坐标。
推荐阅读
- javascript - Adding html codes to SharePoint Online
- javascript - 表单未使用反应从外部按钮提交
- linux - 如何使用 mod_exec proftpd linux
- typescript - 是否可以根据一些枚举来限制接口字段名称?
- javascript - 使用 array.find() 在 javascript 数组中查找元素
- bit-manipulation - 如何为拟合框做按位逻辑
- arrays - 字符串数组中字符串第一部分的总和
- jquery - Bootstrap4:具有多值的扩展表
- python - 在我的视图中处理文件后如何通过 django 序列化程序保存文件?
- javascript - Fullcalendar 日程日视图 - 如何并排显示事件?