SVG中的跨度的Xpath

时间:2019-05-08 02:09:32

标签: css selenium-webdriver xpath

在svg之后找不到跨度的xpath。我需要获取所有元素的列表并验证文本是否为Account

我尝试了xpath

List<WebElement> listOffices = 
driver.findElements(By.xpath("//div  [@id='joblist']//div[@id='view-   
content']//div[@id='page-data']//div[contains(@id,'project-tags')]/span/span/*[name()='svg']"));

Dom元素如下:

    <div id="project-tags-119651" class="details uk-margin-remove-top" xpath="1">
        <span class="tag mute"> 
            <span uk-icon="icon:tag;ratio:0.8" class="uk-icon">
                <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="0.8"> <path fill="none" stroke="#000" stroke-width="1.1" d="M17.5,3.71 L17.5,7.72 C17.5,7.96 17.4,8.2 17.21,8.39 L8.39,17.2 C7.99,17.6 7.33,17.6 6.93,17.2 L2.8,13.07 C2.4,12.67 2.4,12.01 2.8,11.61 L11.61,2.8 C11.81,2.6 12.08,2.5 12.34,2.5 L16.19,2.5 C16.52,2.5 16.86,2.63 17.11,2.88 C17.35,3.11 17.48,3.4 17.5,3.71 L17.5,3.71 Z"></path> <circle cx="14" cy="6" r="1"></circle></svg>
            </span> 
            Account
        </span>
    </div>

我需要xpath到:帐户

1 个答案:

答案 0 :(得分:1)

这是您应该使用的xpath

std::fmod

在安全方面使用//span[@class='tag mute' and normalize-space(.)='Account'] ,但在比较作为xpath一部分的文本时,必须使用Class删除前后的空格(空格,制表符,换行符)。 / p>