我的代码看起来像:
var wait = new WebDriverWait(Driver.Instance, TimeSpan.FromSeconds(5));
var primaryAgendaListContainer = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.CssSelector("ul#PrimaryAgendaIdTemp_listbox")));
var primaryAgendaList = primaryAgendaListContainer.FindElements(By.TagName("li"));
foreach(var primaryAgendaElement in primaryAgendaList)
{
System.Diagnostics.Debug.WriteLine(primaryAgendaElement.Text);
}
但是每个元素的Text都是空白的。我可以使用Chrome开发工具,看到李没有空白文本。我得到了正确数量的元素,但文本不正确。我做错了什么?
可能在LI和文本之间还有另一个标记。
尝试更改代码以执行此操作,并告诉我结果。
var primaryAgendaList = primaryAgendaListContainer.FindElements(By.XPath("//li/*"));
在需要文本的元素上使用GetAttribute("innerHTML")
。这应该可以很好地进行检索。