#c# #.net #selenium-chromedriver
#c# #.net #селен-хромированный привод
Вопрос:
Я использую ChromeDriver для проверки и запроса на обработку данных. Я вижу все шаги, выполненные успешно, но создаю исключение, когда дело доходит до «Нажмите кнопку», чтобы сгенерировать отчет. не уверен, что это здесь значит
error
element click intercepted: Element lt;input id="generate_report_button" class="ImageButtonWide" name="report" type="button" value="Generate Report" onclick="redirectGenerate(jQuery(this))"gt; is not clickable at point (525, 658). Other element would receive the click: lt;div class="cc-cookies " id="eu_cookie_bar"gt;...lt;/divgt;
(Информация о сеансе: chrome=96.0.4664.45)
Code
using (ChromeDriver window = new ChromeDriver(chromeOptions)) { try { var btnReport = window.FindElement(By.Name("report")); log.Debug("Found 'report' button"); // remaining code new SelectElement(selFormat).SelectByValue("csv"); log.Info("Selected 'csv' from 'format' select list"); btnReport.Click(); log.Debug("Clicked 'report' button");
Комментарии:
1. Вы пытаетесь щелкнуть элемент [btnReport], который «недоступен для кликабельности». Но вы не показываете нам код, который настраивает [btnReport], который может объяснить, почему [btnReport] недоступен для кликабельности.
2. У меня есть код обновления в вопросе
3. var btnReport = окно. Элемент поиска(By.Name(«отчет»));
Ответ №1:
вы можете попытаться принудительно нажать кнопку с помощью API действий :
Actions action = new Actions(IWebDriver); action.Click(IWebElement).Build().Perform();
вы получаете эту ошибку — «элемент недоступен в точке (525, 658). Другой элемент получит щелчок», когда два элемента перекрываются, и webdriver предупреждает вас, что нужный элемент может не получить щелчок.
Комментарии:
1. спасибо за поддержку, но где я даю ссылку на btnReport в вашем приведенном выше коде
2. Действия действие = новые действия(окно); // окно-это действие вашего экземпляра WebDriver. Нажмите(btnReport). Сборка().Выполнение(); // btnReport-это ваш веб-сайт