Вы используете ClassName()
с Xpath
ReadOnlyCollection<IWebElement> list = _driver.FindElements(By.Xpath("//*[@class=\"tooltip\"]/big"));
Тем не менее, я хотел бы использовать CSSSelector в этом случае, так как CSS всегда предпочтительнее, чем XPath
ReadOnlyCollection<IWebElement> list = _driver.FindElements(By.CssSelector("big.tooltip"));
Учитывая элемент не находится внутри какой-либо iframe
, так как он не бросать какие-либо ошибки, я я предполагаю, что ожидание необходимо. Попробуйте следующее
By byCss = By.CssSelector("big.tooltip");
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(byCss);
});
var text = myDynamicElement.Text;
Выглядит этот элемент скрыт. Итак, JavaScript
, вероятно, ваша лучшая попытка.
var text = ((IJavaScriptExecutor)driver).ExecuteScript("return document.querySelector('.tooltip_health_limit').innerHTML;") as string;
проблема заключается в том currentElement.Text пусто;) [ссылка] (http://prntscr.com/77tls7) – dina
является currentElement с большим тэгом? Существуют ли другие большие элементы в DOM с тем же классом и без текста? –
да это единственное с этим именем – dina