Не удается щелкнуть элемент флажка с помощью Selenium C #

1

У меня проблема при нажатии на флажок. Когда я пытаюсь использовать функцию webdriver click(), она говорит, что не может найти элемент, а затем пытаюсь использовать выполнение JS, которое я тестирую в консоли браузера, и оно работает, но когда я пытаюсь выполнить его через selenium webdriver, он не работает снова.

Функция JS:

webDriver.ExecuteScript("document.getElementById(\"container_form_containers_21_use\").click();");

Ошибка, которую я получаю от этого, - это "

OpenQA.Selenium.WebDriverException: 'unknown error: Невозможно прочитать свойство' click 'of null "

и другая нормальная функция селена, которую я использую для щелчка:

webDriver.FindElement(By.XPath("//*[@id='uniform container_form_containers_21_use']")).Click();

Ошибка, которую я получаю от этого

"OpenQA.Selenium.NoSuchElementException:" нет такого элемента: невозможно найти элемент: {"method": "xpath", "selector": "//* [@id = 'uniform - container_form_containers_21_use']"} "

Обратите внимание, что

document.getElementById(\"container_form_containers_21_use\").click();

отлично работает, когда я выполняю его в консоли браузера.

  • 0
    Вам необходимо убедиться в правильности расположения XPath элемента. Если селен выдает «NoSuchElementException», необходимо проверить метод FindElement. Вы можете использовать метод GetElementById (container_form_containers_21_use) вместо GetElementByXPath.
  • 0
    Даже если я пытаюсь использовать идентификатор, все равно выдается ошибка, что элемент не может быть найден OpenQA.Selenium.NoSuchElementException: 'нет такого элемента: невозможно найти элемент: {"method": "id", "selector": "container_form_containers_21_use"} , И я знаю, что элемент find работает, потому что я использую его другими шагами перед ошибкой в том же тесте и все с функцией.
Показать ещё 6 комментариев
Теги:
selenium

1 ответ

0

Если я правильно помню, вы не можете щелкнуть этот флажок, вам нужно отправить пробел.

webDriver.ExecuteScript("document.getElementById('container_form_containers_21_use\')").SendKeys(Keys.Space);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню