Size: a a a

Selenide на русском

2020 March 27

AS

Andrei Solntsev in Selenide на русском
А почему именно этот CDP клиент?
А не, например, cdp4j?
источник

AZ

Andrii Zinchuk in Selenide на русском
там апач лицензия
источник

AZ

Andrii Zinchuk in Selenide на русском
cdp4j is a proprietary software which means that you or your company needs commercial license to use cdp4j.
источник

AB

Alexei Barantsev in Selenide на русском
у cdp4j лучше API?
источник

AS

Andrei Solntsev in Selenide на русском
Нет, я не знаю. Просто спросил.
источник

AB

Alexei Barantsev in Selenide на русском
вообще-то у selenium 4 будет свой CDP-клиент, с другим API, не таким как в примере выше
источник

AZ

Andrii Zinchuk in Selenide на русском
ну под новий год можно будет и рефактор сделать)
источник
2020 March 28

AY

Arsen Yuri4 in Selenide на русском
привет
источник

AY

Arsen Yuri4 in Selenide на русском
может кто подскажет как отклбючить нотификации браузера
источник

AY

Arsen Yuri4 in Selenide на русском
ну или как с ним взаимодействоать
источник

S

Sergey Sergey in Selenide на русском
о каких нотификациях речь конкретно и какой браузер?
источник

AB

Alexei Barantsev in Selenide на русском
Andrei у меня есть уточняющий вопрос про https://github.com/SeleniumHQ/selenium/issues/8133
правильно я понимаю, что даже если у вас уже есть веб-элемент, вы ссылку на драйвер не из него извлекаете, а берёте из threadlocal (или его аналога)?
то есть с элементами вообще ничего нельзя делать в отдельных потоках, селенид сразу крашится?
а если используется не статический селенид-драйвер?
источник

AS

Andrei Solntsev in Selenide на русском
Alexei Barantsev
Andrei у меня есть уточняющий вопрос про https://github.com/SeleniumHQ/selenium/issues/8133
правильно я понимаю, что даже если у вас уже есть веб-элемент, вы ссылку на драйвер не из него извлекаете, а берёте из threadlocal (или его аналога)?
то есть с элементами вообще ничего нельзя делать в отдельных потоках, селенид сразу крашится?
а если используется не статический селенид-драйвер?
1. Если используется нестатический SelenideDriver, то проблем не будет, конечно.
2. Если есть WebElement - я не уверен, может, и не будет проблем. Но обычно-то его нет, а есть SelenideElement. А он ищет элемент заново при каждом обращении.
источник

AB

Alexei Barantsev in Selenide на русском
ага, понял
источник

AS

Andrei Solntsev in Selenide на русском
В общем, как я и писал, на стороне селенида мы наверняка можем что-то улучшить - скажем, действительно не делать перепоиск, пока нет проблем. И брать вебдрайвер из вебэлемента.
источник

AS

Andrei Solntsev in Selenide на русском
Но я просто подумал, вдруг у других могут быть похожие проблемы.
источник

AB

Alexei Barantsev in Selenide на русском
дело в том, что тут недостаточно просто использовать ThreadLocal, у вас хитрость в том, что SelenideElementProxy использует не тот драйвер, в котором выполнялся поиск элемента, а драйвер, который соответствует текущему потоку
источник

AB

Alexei Barantsev in Selenide на русском
в стек-трейсе это хорошо видно, что сначала вызывается RemoteWebDriver$RemoteTargetLocator.frame — тут используется один драйвер, а потом для заворачивания найденного элемента используется другой драйвер —  StaticDriver.getWebDriver
источник

AS

Andrei Solntsev in Selenide на русском
Да. И вполне возможно, что это как раз ошибка.
источник

AB

Alexei Barantsev in Selenide на русском
я бы предложил селенид исправить, было бы логично для заворачивания использовать тот же драйвер, который использовался для поиска. хотя бы потому, что это логично
источник