Нет такого элемента: невозможно найти элемент OpenQA.Selenium в C# - PullRequest
0 голосов
/ 14 апреля 2020

Я сталкиваюсь с этим исключением:

OpenQA.Selenium.NoSuchElementException: 'нет такого элемента: невозможно найти элемент: {"method": "css selector", "selector": "#MuliCloudAccountSelector"}

Мой код:

driver.FindElement(By.Id("MuliCloudAccountSelector")).Click();

Мой HTML:

<div id="MuliCloudAccountSelector" class="antd-pro-src-components-page-header-wrapper-multi-account-selector-antpopover" style="border: 1px solid rgb(217, 217, 217); margin-left: 6px; margin-right: 10px; height: 40px; float: left; min-width: 24px; border-radius: 4px; max-width: 316px; overflow: hidden;">

Чего мне не хватает?

1 Ответ

0 голосов
/ 14 апреля 2020

Вам нужно подождать, пока элемент станет кликабельным:

var wait = new WebDriverWait(drive, TimeSpan.FromSeconds(30));
var div = wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("MuliCloudAccountSelector"));

div.Click();

Вероятно, возникло состояние гонки между Selenium и браузером. Вы находите элемент до его визуализации на странице.

...