当默认不是100时,在Selenium WebDriver中设置缩放级别为100%

问题描述:

我遇到了Java中的Selenium WebDriver问题,当用户有不同的设置时,我无法将IE浏览器缩放级别设置为100%默认值。由于这会将缩放设置为默认值,因此Ctrl + 0不起作用。我已经尝试通过JavascriptExecutor设置缩放,正如其他文章中所见。任何帮助,将不胜感激。当默认不是100时,在Selenium WebDriver中设置缩放级别为100%

+0

据我所知,硒不沟通良好' Internet Explorer“,除非”缩放级别“设置为”100%“。任何具体的商业案例都不会将“缩放级别”设置为“100%”?谢谢 – DebanjanB

+0

我正在使用Selenium作为Web浏览器自动化应用程序,并且在某些测试用户的默认缩放级别不是100%时遇到问题,所以我需要在代码中对其进行更改。 – jonlip

+1

您可以分享特定业务案例(测试用例),用户必须在其中设置100%以外的缩放级别吗?谢谢 – DebanjanB

尝试忽略缩放级别。

DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); caps.setCapability("ignoreZoomSetting", true); driver = new InternetExplorerDriver(caps);

你可以看到其他人在这里变焦问题:Similar issue

+0

看到我上面的评论。 – DebanjanB

+2

这不起作用,因为当缩放级别是125%时,某些元素无法识别。忽略缩放设置可以让浏览器打开,但驱动程序无法点击很多东西。 – jonlip

+0

@jonlip这是我的担忧。 – DebanjanB

从我用Google搜索,您可以使用注册表中设置默认缩放。我没有自己尝试过,但你应该能够获取用户的默认设置,将其更改为100%(如果它不存在),请执行测试,然后恢复默认设置。

我还没有尝试过这个,但它看起来非常简单。

HKEY_CURRENT_USERS\SOFTWARE\Microsoft\Internet Explorer\Zoom 

将ZoomFactor设置为所需因子的1000倍,例如, 125%是125000

https://support.microsoft.com/en-us/help/2689447/how-to-set-the-zoom-level-in-internet-explorer-9

试试这个,你可以调整它返回当前缩放级别的计算,我可能是错在那

from selenium import webdriver 

driver = webdriver.Chrome(executable_path='C:\\Automation Projects\\Selenium Server\\chromedriver.exe') 

driver.get('Https://www.google.com') 

zoom_level = driver.execute_script('return (window.outerWidth/window.innerWidth)') 
if zoom_level > 1: 
    driver.execute_script("document.body.style.zoom='90%';")