#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();