Установите уровень масштабирования 100% в Selenium WebDriver, если значение по умолчанию не равно 100
Я столкнулся с проблемой с Selenium WebDriver в Java, где я не могу установить уровень масштабирования браузера IE до 100%, когда у пользователя другое значение по умолчанию. Ctrl + 0 не работает, так как это устанавливает масштаб по умолчанию. Я попытался установить масштабирование с помощью JavascriptExecutor, как видно из других постов. Любая помощь будет оценена.
5 ответов
Попробуйте игнорировать уровень масштабирования все вместе.
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("ignoreZoomSetting", true);
driver = new InternetExplorerDriver(caps);
Вы можете увидеть других с проблемой увеличения здесь: Подобная проблема
Из того, что я гуглил, вы можете установить масштаб по умолчанию, используя реестр. Я сам не пробовал, но вы должны быть в состоянии захватить настройки пользователя по умолчанию, изменить их на 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%';")
JavascriptExecutor js =(JavascriptExecutor)driver;
js.executeScript("document.body.style.zoom='100%'");
Попробуйте код ниже, это рабочий код
InternetExplorerOptions capabilities= new InternetExplorerOptions();
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
System.setProperty("webdriver.ie.driver", Constant.drivers + "\\IEDriverServer.exe");
driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();