Не отлавливается диалоговое окно Yandex браузера

По работе нужно использовать Яндекс браузер и расширение КриптоПро. 1 проблема в том, что расширение ставится из магазина Оперы, но с этим решено. 2 и основная проблема. При установке расширения появляется диалоговое окно подтверждения установки

и его невозможно отловить стандартными метадами webDriver

Я попытался сделать перехват алерта стандартными средствами driver.switchTo().alert().accept();, причём ждал алерт и через thread, и стандартным вейтером

У меня не получилось ничего вообще. Как будто вот именно этот аллерт и именно в этом браузере не отлавливается

Код

WebDriver driver;

ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
System.setProperty("webdriver.chrome.driver", "путь до драйвера от самого Яндекса");
options.setBinary("путь до самого браузера");

driver = new ChromeDriver(options);
driver.get("https://addons.opera.com/ru/extensions/details/cryptopro-extension-for-cades-browser-plug-in/");
By install = By.cssSelector(".btn-install.btn-with-plus");
driver.findElement(install).click();
Thread.sleep(5000);
driver.switchTo().alert().accept();

Логи и ошибка вот такая
Session ID: 9a9ef0bd6712b3fa20ee50b71305b147
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484)
at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:200)
at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:133)
at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:53)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:184)
at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:541)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:596)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteTargetLocator.alert(RemoteWebDriver.java:1078)
at org.example.Main.main(Main.java:30)

Версии ОС и софта следующие Win10 + Yandex браузер версии 23.5.0.2254 + Selenium 4.6.0 (нужна именно эта версия)

я думаю, что вам лучше искать среди знакомых контакт тех, кто разрабатывает/тестирует яндекс браузер, и спрашивать напрямую

у меня 4 года назад была задача тестировать гостовый тлс через ЯБ, я писал им в поддержку напрямую, они меня отфутболили якобы этим никто не пользуется, потом всплыл старый знакомый, работающий в яндексе, и оказалось нужно один флажок передать при старте запуска

наверняка с экстеншенами такая же тема, какой-то кастомный флаг с путём до crx

попробуйте написать в поддержку браузера, может они там перестали быть идиотами и подскажут как быть

вот предлагают качать бета версию браузера, и возможно в ней будут работать флажки загрузки от хромдрайвера

1 лайк

К сожалению, нет. Подкладывание crx от хрома не работает. Крашится браузер при запуске. В поддержке тоже отфутболили. Накой черт впихивать в хромиумоподобный браузер экстеншены из оперы…

Вам памятник поставить нужно ))) Скачал бету и всё нормально встало. Как в обычном хроме просто указа путь к crx и всё. Хоспаде … весь день мозги парил себе с этим всем. Огромное спасибо!