获取css元素selenium的文本

时间:2013-06-21 15:07:40

标签: java selenium

我正在尝试使用selenium来访问css元素的文本。

WebElement test = driver.findElement(By.cssSelector("div.CLFSBTextWithLink"));
System.out.println(test.getText());

这就是我现在所做的,但输出是空的。

例如,在名为“Company”的网站上可能存在链接或文本,当我使用Selenium检查元素的位置时,它表示目标是css = div.CLFSBTextWithLink。现在我希望能够以某种方式获得“公司”的价值。

1 个答案:

答案 0 :(得分:2)

  

如果你转到http://viewer.opencalais.com/并输入类似“有的话”   一个名叫Bob Bob的男人“并点击提交,然后你看到实体下   人名鲍勃鲍勃。我想把这个名字叫做“Bob Bob”   基本上


来自getText()文档:

  

获取此元素的可见(即未被CSS隐藏)innerText

但文本最初是隐藏的。您必须首先展开Person元素以使其可见。在这个特殊的“Bob Bob”案例中,您可以使用:

driver.findElement(By.id("toggleVisibilityImage1")).click();

但总是要确保你点击了正确的扩展器。为了使它更通用,这将选择“Person”类别旁边的扩展器:

//input[@class='collapseExpandIcon' and (../text()='Person')]

和解释:

SELECT AN <input> ELEMENT
//input[                                                    ]
        THAT IS AN EXPANDER
        @class='collapseExpandIcon'
                                    AND ITS PARENT NODE HAS TEXT "Person"
                                    and (../text()='Person')