在以下代码中,我需要打印color
in Hex format
。
第一个 Print语句以RGB
格式显示值rgb(102,102,102)
。
在 第二个 语句显示值在Hex
其中#666666
但是,我正在手动将值输入到第二个打印语句中102,102,102
。
有什么方法可以将我从第一个语句(颜色)获得的值传递到第二个打印语句并获得结果?
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Google {
public static void main(String[] args) throws Exception {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com/");
String Color = driver.findElement(By.xpath("//div[@class='gb_e gb_f gb_g gb_xb']/a")).getCssValue("color");
System.out.println(Color);
String hex = String.format("#%02x%02x%02x", 102,102,102);
System.out.println(hex);
}
}
方法1:使用StringTokenizer:
String color = driver.findElement(By.xpath("//div[@class='gb_e gb_f gb_g gb_xb']/a")).getCssValue("color");
String s1 = color.substring(4);
color = s1.replace(')', ' ');
StringTokenizer st = new StringTokenizer(color);
int r = Integer.parseInt(st.nextToken(",").trim());
int g = Integer.parseInt(st.nextToken(",").trim());
int b = Integer.parseInt(st.nextToken(",").trim());
Color c = new Color(r, g, b);
String hex = "#"+Integer.toHexString(c.getRGB()).substring(2);
System.out.println(hex);
方式2:
String color = driver.findElement(By.xpath("//div[@class='gb_e gb_f gb_g gb_xb']/a")).getCssValue("color");
String[] numbers = color.replace("rgb(", "").replace(")", "").split(",");
int r = Integer.parseInt(numbers[0].trim());
int g = Integer.parseInt(numbers[1].trim());
int b = Integer.parseInt(numbers[2].trim());
System.out.println("r: " + r + "g: " + g + "b: " + b);
String hex = "#" + Integer.toHexString(r) + Integer.toHexString(g) + Integer.toHexString(b);
System.out.println(hex);
问题内容: 尝试执行数字格式异常时,出现异常 如果我减少十六进制数字中的一位,它将转换但不会转换。为什么以及如何解决这个问题? 问题答案: 这将导致整数溢出,因为整数始终在Java中签名。从该方法的文档中(重点是我的): 如果发生以下任何一种情况,将引发type 异常: 第一个参数为null或长度为零的字符串。 基数小于Character.MIN_RADIX或大于Character.MAX_RAD
我用JSON格式存储了很多颜色。我使用rootbeer via gulp将它们转换为sass映射,可以由SCSS处理: 至 我可以很好地使用语法中的颜色,但一旦应用了任何颜色函数,如,编译器就会失败,因为颜色类型完全消失了。 即使使用也不允许sass将其视为字符串,但它需要是一种颜色。 我的问题是,是否有任何方法可以让我强制编译器将此作为一种颜色来处理呢?另一种方法是省略所有内置颜色函数的使用。
问题内容: 我正在构建一个Web CMS,用户可以在其中选择某些站点元素的颜色。我想将所有颜色值都转换为十六进制,以避免任何进一步的格式化麻烦(“ rgb(x,y,z)”或命名的颜色)。我为此找到了一个不错的JS库。 我无法进入十六进制的唯一内容是“透明的”。在显式声明一个元素透明时,我需要这样做,根据我的经验,这可能与根本不定义任何值有所不同。 有人知道这是否可以转换为某种数字形式吗?我是否必须
是否可以使用一种方法或其他方法,而不是“%.6f”。格式(值)以实现相同的目标?这是我的代码: 我想让它更具动态性和可读性
问题内容: 我正在尝试在Swift中使用十六进制颜色值,而不是允许您使用的几个标准颜色值,但是我不知道该怎么做。 示例:如何将其用作颜色? 问题答案: 实际上是用十六进制表示的3种颜色分量- 红色,绿色和蓝色。您可以使用前缀在Swift中编写十六进制表示法,例如 为了简化转换,让我们创建一个采用整数(0-255)值的初始化程序: 用法: 如何获得阿尔法? 根据您的用例,您可以简单地使用本机方法,例
问题内容: 对于Django应用,每个“成员”都分配有一种颜色以帮助识别它们。它们的颜色存储在数据库中,然后在需要时打印/复制到HTML中。唯一的问题是我不确定如何Hex在python / django中生成随机颜色。生成RGB颜色很容易,但是要存储它们,我要么需要a)在“成员”模型中增加三列,要么b)将它们全部存储在同一列中并使用逗号分隔它们,然后,解析HTML的颜色。这些都不是很吸引人,因此,