Как сделать так, чтобы селен открывал страницу https, которая отображалась вручную и не отображалась при автоматическом запуске? - PullRequest
0 голосов
/ 19 февраля 2020

Просмотр с помощью chrome к веб-сайту с подключением htpps вручную доступен и отображает сайт. Просмотр того же сайта с помощью автоматического теста Селена, не отображает страницу, отображает пустую страницу. Если я загружаю chrome профиль пользователя, автоматизация открывает необходимую страницу. Другой сайт https (QA) действительно отображается через автоматическое соединение, проблема с производственными сайтами. Можно ли добавить какие-либо настройки в селен, чтобы открыть страницу?

Ответы [ 2 ]

1 голос
/ 19 февраля 2020
 try this if works           
            HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
            chromePrefs.put("profile.default_content_settings.popups", 0);
            chromePrefs.put("download.default_directory", downloadFilepath);            
            ChromeOptions options = new ChromeOptions();
            options.setExperimentalOption("prefs", chromePrefs);
            options.addArguments("--start-maximized");
            options.setExperimentalOption("useAutomationExtension", false);
            options.addArguments("disable-infobars");
            DesiredCapabilities cap = DesiredCapabilities.chrome();         
            cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
            cap.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, 
            UnexpectedAlertBehaviour.ACCEPT);
            cap.setCapability(ChromeOptions.CAPABILITY, options);
            driver.set(new ChromeDriver(cap));          
0 голосов
/ 20 февраля 2020

После того, как проблема решена, выложите здесь решение. Сайт не отображался, поскольку запросы на автоматизацию были заблокированы компанией WAF (firewall). Решением на стороне автоматизации было добавление агента в параметры профиля chrome, а на стороне стороны было добавлено правило для агента, который разрешает доступ к приложению.

Это пример того, как агент добавлен в ChromeOptions класс:

ChromeOptions options = new ChromeOptions();
options.AddArgument("--user-agent=automation-client");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...