C # Selenium | кнопка не имеет идентификатора

#c# #selenium

#c# #селен

Вопрос:

Я хочу получить от вас информацию о том, как это закодировать.

Как вы можете видеть на картинке, есть часть, но она не отображается как кнопка. Вот почему я не могу найти ни одного из его идентификаторов.

Я был бы рад, если бы вы указали в коде, как это сделать.

Мои коды (не работают);

 driver.FindElement(By.XPath("/html/body/nav/div/div[2]/a[2]")).Click();
  

Коды сайта;

 <a onclick="if (!window.__cfRLUnblockHandlers) return false; openLoginBox()" class="linkbutton">KAYIT/GİRİŞ</a>
  

введите описание изображения здесь

введите описание изображения здесь

Ответ №1:

Чтобы точно определить этот элемент, вы можете использовать имя класса и порядок, или сам текст.

 var byText = driver.FindElement(By.XPath("//a[contains(., 'KAYIT/GİRİŞ')]"));

var byOrder = driver.FindElement(By.XPath($"//a[@class='linkbutton'][{orderInDom}]"));
  

Комментарии:

1. Можете ли вы посмотреть, имеют ли переменные значение?

2. Я пытался достичь этого, но он не перенаправляется из драйвера автоматического тестирования, потому что у него есть защита. Вы должны тестировать это с тестового сервера, верно? В противном случае это тоже не сработает для вас.

Ответ №2:

Просто возьмите элемент с помощью css и щелкните его.

 driver.FindElement(By.CssSelector("#link-wrapper > a:nth-child(4"))).click();