通过兄弟HTML元素

时间:2015-05-21 16:08:35

标签: c# selenium xpath

我无法从有序列表中获取特定字符串。我正在使用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;并且我使用当前代码返回到我的文档,但是,我想要实际的生日,而不是标签。

1 个答案:

答案 0 :(得分:3)

问题是,无法直接找到/引用带有selenium的文本节点。解决这个问题的常用方法是获取父元素的文本并从中“减去”子元素的文本。

换句话说,找到li元素,获取文本并用空字符串替换Birthdate

driver.FindElement(By.XPath("//li[label = 'Birthdate']")).Text.Replace("Birthdate", "")