我的代码如下:
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);
}
但是每个元素的文本为空。我可以使用Chrome开发人员工具,看到li的文本没有空白。我得到的元素数量正确,但文本不正确。我在做什么错了?
答案 0 :(得分:0)
可能在LI和文本之间还有另一个标签。
尝试更改代码以执行此操作,然后告诉我结果。
var primaryAgendaList = primaryAgendaListContainer.FindElements(By.XPath("//li/*"));
答案 1 :(得分:0)
在需要文本的元素上使用GetAttribute("innerHTML")
。那应该做得很好。