Есть ли способ уменьшить Chrome с помощью C # и селена, кроме CSS? - PullRequest
0 голосов
/ 14 декабря 2018

Я получаю доступ к веб-странице (угловой), используя селен.Если я уменьшу страницу вручную в Chrome, то появится меню, и с ней будет легче ориентироваться.Я хочу сделать то же самое с селеном и с #.Многие посты задают похожий вопрос, но не точно такой же.Позвольте мне объяснить:

  1. css zoom

    ((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);");
    

    Это изменяет уровень масштабирования, но после первой строки появляется сообщение об ошибке: "Не удалось загрузить модуль перца из внутреннего пока не существующего ".После этого веб-драйвер работает неправильно.Например, код, который нажал на кнопку, которая работала раньше, больше не работает.

Любая новая идея?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Я обнаружил, что "2. масштабирование с помощью клавиш" не работает из-за короткого замыкания хромового драйвера.См. https://stackoverflow.com/a/43665060/5852947

Более того, даже если вы уменьшите вручную, у chromedriver есть другая проблема.См. https://bugs.chromium.org/p/chromedriver/issues/detail?id=628

driver.FindElement (...) не будет работать должным образом при уменьшении.

0 голосов
/ 15 декабря 2018

В качестве альтернативы можно использовать следующее решение:

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

Примечание : увеличение / уменьшение во время Выполнение теста * от 1007 * до Селен с любым значением, отличным от 100%, может вызвать нестабильность в ваших тестах .В частности, Требуемая конфигурация раздел Драйвер Internet Explorer четко упоминает:

Уровень масштабирования браузера должен быть установлен на 100% , поэтомучто родные события мыши могут быть установлены в правильные координаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...