gpt4 book ai didi

java - 验证 SVG 下元素的填充颜色

转载 作者:行者123 更新时间:2023-12-02 10:35:14 24 4
gpt4 key购买 nike

我正在尝试验证 SVG 下页面上多个元素的填充颜色。这7个元素的Relative Xpath都是相同的。

//*[@id="svg_health-state-success"]/路径

HTML

<div class="v-object-modifiers hide" xpath="1"> </div>
<svg role="img" class="c-icon c-icon-health-state-success" xpath="1"><use
xlink:href="#svg_health-state-success"></use></svg>
<use xlink:href="#svg_health-state-success"></use>
<svg id="svg_health-state-success" viewBox="0 0 62.5 62.5" width="100%"
height="100%"><path style="fill:#00a651" d="M0 0v62.5h62.5V0H0zm25.7
48.2L9.5 32l8.6-8.6 7.8 8.4 20.9-17.4 6.2 6.4-27.3 27.4z"></path></svg>
<path style="fill:#00a651" d="M0 0v62.5h62.5V0H0zm25.7 48.2L9.5 32l8.6-8.6
7.8 8.4 20.9-17.4 6.2 6.4-27.3 27.4z"></path>
</svg>
</use>
</svg>
</div>

我尝试在我的脚本中使用以下内容,但它不起作用

String XPATHONE = "//*[name()='svg']//*[name()='path' and @fill='#00a651' and position()=2]";
WebElement svgObj = driver.findElement(By.xpath(XPATHONE));
Actions actionBuilder = new Actions(driver);
actionBuilder.click(svgObj).build().perform();

最佳答案

fill 不是 path 元素的属性,而是它的 CSS 样式属性,因此您不能使用@fill 语法。尝试下面的 XPath:

//*[name()='svg']//*[name()='path' and contains(@style, 'fill="#00a651"')]

此外,我不确定 position()=2 谓词,因为 path 节点似乎没有任何兄弟节点(如果它实际上有 sibling )

关于java - 验证 SVG 下元素的填充颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53342127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com