Чтение FAQ очень упростит процесс вставки html верстки в сообщениях.
я отформатировал как код ctrl+k.но на html не сработало , т.к мой кусок html отрисовался браузером.
Вы лишь подтвердили факт непрочтения FAQ.
Если я не ошибаюсь - то вы на поле 2 аннотации навесили(я не силен в c# и может быть мне показалось)? Если так - у Вас , возможно, первая берется и всё.
Так собственно я и хочу по цепочке FindsBy обратиться сначала к родительскому елементу , а потом за счет [FindsBy(How = How.Id, Using = “Password”)] уже в нем обраться к дочернему.
Я гуглил и нашел такой принцип записи, но видимо что-то не учел. Если кто пишет на c# и использует цепочки поиска елементов, то сможет мне подтвердить работает эта фича или нет.
тем не менее , в комментарии выше я отформатировал как код. или есть специылные теги для html’а? в FAQ я их не нашел
No comments.
Или же можно вставить код, а потом до и после вставить (3) ``` строки для форматирования кода.
Можно еще указать какой язык вы показываете, чтобы подсветка была точно правильной
Извините, что лично для вас не указали пример с html, вместо python.
Так собственно я и хочу по цепочке FindsBy обратиться сначала к родительскому елементу , а потом за счет [FindsBy(How = How.Id, Using = "Password")] уже в нем обраться к дочернему.
Я гуглил и нашел такой принцип записи, но видимо что-то не учел.
Можно попросить ссылку на данную запись .
по решению задачи . на Java
@FindBy(xpath = "//h1[@data-navigation-link]")
private WebElement pageHeader;
и потом в нем
pageHeader.findElement()
Не очень понял, зачем цепочка. Почему сразу не искать по id=Password? Только один такой элемент на странице может быть.
елементов с id=Password на странице два.
я переделал поиск и нахожу его по XPath. Но было интересно найти именно по цепочке родитель - вложенный елемент. Но похоже эта фича не работает для C#. Вот это и хочу прояснить для себя.
2 элемента с одним и тем же id?
“Ваши пчелы дают какой-то неправильный мед”.
Id уникален, в этом его прелесть.
есть вариант, что у вас внутри страницы есть iframe , и в нем есть елемент со схожим id.
А вообще , css например позволит так же найти через локатор “#account #Password”, но повтроюсь - с id все должно быть проще.
Насчет цепочки - что это за цепочка такая? В java например такая конструкция из 2х аннотаций не скомпилится.
Где-то видится подвох в Вашем вопросе)))
есть вариант, что у вас внутри страницы есть iframe , и в нем есть елемент со схожим id.
Имхо без переключения в iframe так не получиться .
ничего страшного. зато теперь думаю добавите.
Я не смогу подробно обьяснить, но в общем - еэлементам присваиваеться Id с помощью мапперов (С# разработчики поймут). И на странице таких элементов может быть двое, никтьо не мешает этого сделать , браузеры так точно. Но в моем случае на странице регистрации есть 2 поля с одинокывм id, это форма логина и сама форма регистрации.
@maxmalunov
вот линка [Заметка] [C#] Атрибут [FindsBy] в PageObject? – Дайте два!
но там немного другое, то что интересно было мне это вот такой подход
[FindsBySequence]
[FindsBy(How = How.Id, Using = "account", Priority = 0)]
[FindsBy(How = How.Id, Using = "Password", Priority = 1)]
public IWebElement PasswordField;
получилось как всегда, сам задал вопрос и сам на него ответил. правда еще получил немного малоинтересующей информации от модератора) видимо скучно ему
Разумеется. Вообщем еще более удивительно становится
ну да с# это вам не java
Ну вот, ссылку бы сразу скинули - и хоть понятно стало бы, откуда такая информация.
По поводу уникальности id - тут java, не java - это не есть правильно.
Пока не нашел правда какой-то официальной информации в стандартах, но по 2-м ссылкам(1 и 2(перевод первой)) указано, что id уникален на странице. Скажите своим разработчикам, чтобы они не делали так.
Во-первых - вам будет удобнее тесты писать.
Во-вторых - если они потом возьмут, и начнут писать какие-то обработчики событий на js, они могут поймать проблемы с тем, что у них есть несколько элементов с id одним и тем же. Конечно, их можно обойти, но всё же.
Попробую позже еще поискать про правила.
И еще - на будущее - заметку писал @dzhariy, можно было обратиться к нему либо в ЛС, либо в посте изначально его попросить помощи. Избежали бы немного гнева нашего доброго и справдливого модератора @ArtOfLife .
ну то что id должен быть уникальным на странице я и сам был убежден. до недавнего времени, но посмотрев на код и послушав обьяснения разработчиков , убедился сам что иногда профитнее сделать с одинаковыми id .
Ну и как видим не сложно в тестах исправить , всего-то дописать 2 строчки кода.
ну то что id должен быть уникальным на странице я и сам был убежден. до
недавнего времени, но посмотрев на код и послушав обьяснения
разработчиков , убедился сам что иногда профитнее сделать с одинаковыми
id .
это такое пасхальное яичко для тех кто будет поддерживать / дописывать скрипты .
[FindsBySequence]
[FindsBy(How = How.Id, Using = "account", Priority = 0)]
[FindsBy(How = How.Id, Using = "Password", Priority = 1)]
public IWebElement PasswordField;
В принципе и xpath и сss поддерживает комбинирование путей .
В xpath через | в css через ,
Хм. А можете рассказать, когда это профитнее?