如何在Selenium Webdriver Java中使用CSS选择器定位元素?

时间:2019-01-09 14:59:02

标签: java selenium-webdriver css-selectors

我正在尝试查找第三个div角色的文本:

<div class="jss295">
    <div class="section-header">
        <h3 class="section-header-title">LABELS</h3></div>
    <div role="button" class="jss300 jss299" tabindex="-1"><span class="jss313">system-all</span></div>
    <div role="button" class="jss300 jss299" tabindex="-1"><span class="jss313">paloaltonetworks_iPoiycgPut</span></div>
    <div role="button" class="jss300 jss299" tabindex="-1"><span class="jss313">system-paloaltonetworks</span></div>
</div>

我尝试了xpath如下:driver.findElement(By.xpath("//span[contains(text(), '" + str + "')]")).getText(),其中str是我需要的文本。
xpath可以使用,但是我想改用cssSelector

1 个答案:

答案 0 :(得分:0)

:contains()CSS伪类选择器已从CSS3规范中删除。如果您使用的是最新的浏览器,则这对新的CSS标准将无效。

如果className是唯一的,则可以将cssSelector用作:

    span.valueOfClass

//在您的方案中,似乎所有的类名都是相同的。

我想最好使用XPath。

尝试一下:

    By.cssSelector(span[text()$=paloaltonetworks])
相关问题