从 selenium WebDriver 中的 src 获取背景颜色

Posted

技术标签:

【中文标题】从 selenium WebDriver 中的 src 获取背景颜色【英文标题】:Get background color from src in selenium WebDriver 【发布时间】:2015-06-11 20:53:58 【问题描述】:

x-path 就像

我需要找到图像的颜色,样式不包含任何关于颜色的内容。它仅包含有关高度、宽度的信息。

我确定在 src 路径中会出现 fill 属性。但是我想怎么才能做到这一点?

这是我的想法:

String css = driver.findElement(By.Xpath("..blah../img").getCSSValue("background-color");

但我得到“透明”作为答案。我该如何克服它?

【问题讨论】:

根据您的问题,我认为您正在尝试检索图像的背景颜色,如果是这样,则无法检索图像的背景颜色(如果没有背景颜色),返回类型是透明的,如果我没有正确理解您的问题,请更具体 有一个图像,但它部分是透明的,部分是绿色的....但是上面给出的 x 路径将突出显示透明部分和绿色部分。我试图找到更多精确的 xpath 但徒劳无功。所以我试图找出一些更具体的方法来获取 img 的颜色。 【参考方案1】:

这绝对有效:

driver.findElement(By.xpath("..blah../img")).getCssValue("background-color").toString();

问题是您的图像真的是透明的,或者颜色是在其父级中定义的。

【讨论】:

感谢您的回复!能否请您详细说明一下父部分。是不是就像父母是src?? 不,我的意思是背景可以不在这个 标签内,而是使用一些父元素,它定义了所有子元素的背景颜色。 父元素没有与img的颜色相关的属性,这个图像完全来自不同的来源(我可以肯定地说)...... 那你确定背景不透明?可以看到你在检查什么吗?你还能在 Chrome 开发工具中看到 css 属性吗? 我被告知要对信息保密..:(。我一直在使用 Firepath 来检查属性和东西..,在 style 属性中搜索,但我看不到颜色。 ...

以上是关于从 selenium WebDriver 中的 src 获取背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 java 从 selenium webdriver 中的 excel 表中获取数值

从 selenium WebDriver 中的 src 获取背景颜色

如何使用 JavaScript 单击 Selenium WebDriver 中的元素?

无法从Selenium Webdriver中的下拉列表中选择隐藏元素

无法使用Selenium和Java 11导入org.openqa.selenium.WebDriver

XPath在Selenium WebDriver中的应用