我无法从有序列表中获取特定字符串。我正在使用C#和Visual Studio在网站上搜索特定的字符串,然后导入到Excel工作表中。具体而言,该值必须是生日。我当前对字符串的请求如下:
driver.FindElement(By.XPath("//*[contains(text(), 'Birthdate')]")).Text;
我正在搜索的有序列表如下:
<ol>
<li>
<label>Name</label>Humphries, Ryan</li>
<li>
<label>Birthdate</label>11/14/1992</li>
<li>
<label>SSN</label>
我可以搜索&#39; Birthdate&#39;并且我使用当前代码返回到我的文档,但是,我想要实际的生日,而不是标签。
答案 0 :(得分:3)
问题是,无法直接找到/引用带有selenium的文本节点。解决这个问题的常用方法是获取父元素的文本并从中“减去”子元素的文本。
换句话说,找到li
元素,获取文本并用空字符串替换Birthdate
:
driver.FindElement(By.XPath("//li[label = 'Birthdate']")).Text.Replace("Birthdate", "")