@Afrodita13124

Как правильно написать CssSelector, используя c# и OpenQA.Selenium.Chrome?

Ознакамливаюсь с автоматизацией пользовательского интерфейса. Для начала решила написать простенький код на C#, используя OpenQA.Selenium.Chrome, который вбивал бы в поиск Telegram ссылку на чат, выбирал его и отправлял сообщение. Определить текстовое поле для поиска и ввести в него текст я смогла, а вот с оставшимися двумя шагами возникли проблемы.

Код на C#:

driver.Navigate().GoToUrl("https://web.telegram.org/#/login");

IWebElement query = driver.FindElement(By.CssSelector("input[type='search']"));
query.SendKeys("https://t.me/bAHdiTu");

IWebElement query1 = driver.FindElement(By.CssSelector("ul.nav.nav-pills.nav-stacked li:first-child"));
query1.Click();

IWebElement query2 = driver.FindElement(By.CssSelector("div[class='composer_rich_textarea']"));
query2.SendKeys("тест");


Для выбора чата нужно выбрать первый элемент из ul - li:first-child. Я попробовала выбрать его по классам, но вылетает исключение: "OpenQA.Selenium.NoSuchElementException: "no such element: Unable to locate element: {"method":"css selector","selector":"ul.nav.nav-pills.nav-stacked li:first-child"}". Поле для ввода тоже пробовала выбрать по классам, но не получилось.

HTML-разметка в Telegram WEB:
5efcb0c45ad6c314541557.png
5efcb0cde118b825898001.png
5efcb0d4f0cc1056657356.png
5efcb0dad1a5d091869172.png

Помогите пожалуйста правильно описать селектор.
  • Вопрос задан
  • 970 просмотров
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
"input[type='search']"

"input[type=\"search\"]"
"ul.nav.nav-pills.nav-stacked li:first-child"

"ul.nav-pills.nav-stacked>li:first-child"
"div[class='composer_rich_textarea']"

"div.composer_rich_textarea"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы