Я инженер по автоматизации тестирования, который последние несколько лет работает с селеном. Это мой первый пост в Stackoverflow.
Я пытаюсь получить текст из элемента, но селен даже не идентифицирует элемент. Я использую настройку specflow в Visual Studio и С# в качестве языка.
Ниже приведен пример HTML-кода (это всего лишь образец структуры HTML-кода, а не оригинал):
<p class="day">
<meta atts="somevalue">
<span>Some text</span>
<meta atts="somevalue">
<meta atts="somevalue">
"Active"
</p>
Я хочу получить текст Active из приведенного выше HTML.
Я написал для этого несколько xpaths, когда я проверяю это в chrome, xpaths верны, и он выделяет элемент
Испытания Xpaths:
1. //p[@class='day']/text()
2. //p[@class=''day]/meta[@atts='somevalue'][3]/following-sibling::text()
3. few more..
для всех xpaths text()
находится между ними или в конце. все это правильно и уникально, когда я проверял это вручную.
на веб-странице, которую я автоматизирую, нет кадров. также нет проблем с загрузкой страниц. я пробовал с разными операторами ожидания. также пытался дать длинный thread.sleep().
расположение элемента всегда одинаково. изменится только значение в нем. т. е. xpath для этого элемента не является динамическим.
Я получаю ошибку в строке ниже. (драйвер инициализирован правильно, для всего остального работает)
String StatusVal = driver.FindElement(By.XPath("(//meta[@itemprop='closes'])[1]/following-sibling::text()")).Text;
что бы я ни пытался, я получаю сообщение об ошибке ниже, говорящее, что элемент не найден,
OpenQA.Selenium.NoSuchElementException: Could not find element by: By.XPath: (//meta[@itemprop='closes'])[1]/following-sibling::text()
Вышеуказанное является фактическим xpath, если я вручную проверяю xpath после того, как тест не пройден в том же браузере, он доступен там и уникален.
т. е. в моем анализе мой xpath правильный, нет задействованных кадров, на странице нет проблемы с ожиданием, поскольку я успешно выполняю действия с ближайшими элементами и даю более чем достаточно времени для загрузки страницы. все обычные настройки селена выполняются в моей системе, и все работает нормально, кроме этого.
Селен версия: 3.12.0
@atts
, но ваше сообщение об ошибке содержит@itemprop
- person gangabass   schedule 23.05.2018