在使用 getCssValue() 獲取 WebElement 顏色的 css 值后,我最終得到一個具有以下格式的字串:“rgba(105, 54, 221, 1)”。我需要將它轉換為 Color 型別的物件,以便能夠在之后將其轉換為十六進制,但是當我嘗試使用整數時,我得到了一個NumberFormatException for input string: "rgba(105, 54, 221, 1)" .parseInt 方法。
我的代碼是:
String updatedColorAsString = header.getCssValue("color"); //resulting string is "rgba(105, 54, 221, 1)"
Color updatedColor = new Color(Integer.parseInt(updatedColorAsString));
我是 Java-Selenium 的新手,我不知道如何使用該字串以將其正確轉換為 rgba 顏色,我非常感謝您對此的任何幫助:D
uj5u.com熱心網友回復:
有更多選擇如何獲得顏色。
注意兩種不同的顏色資料型別:
org.openqa.selenium.support.Colorvsjava.awt.Color
Color color = Color.fromString(cssColorString); // for selenium Color
或者
String[] rgba = cssColorString.replace("rgba(", "").replace(")", "").split(", ");
int r = Integer.parseInt(rgba[0]);
int g = Integer.parseInt(rgba[1]);
int b = Integer.parseInt(rgba[2]);
int a = Integer.parseInt(rgba[3]);
Color color2 = new Color(r, g, b, a); // for any of the two classes
完整代碼示例:
package selenium;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.Color;
public class RaduRaspopa extends WebDriverSetup {
public static void main(String[] args) {
WebDriver driver = startChromeDriver(); // wrapped driver init
driver.get("https://www.toolsqa.com/");
WebElement advertisementImage = driver.findElement(By.id("advertisement-image"));
String cssColorString = advertisementImage.getCssValue("color");
Color color = Color.fromString(cssColorString);
System.out.println(color.asHex());
String[] rgba = cssColorString.replace("rgba(", "").replace(")", "").split(", ");
int r = Integer.parseInt(rgba[0]);
int g = Integer.parseInt(rgba[1]);
int b = Integer.parseInt(rgba[2]);
int a = Integer.parseInt(rgba[3]);
Color color2 = new Color(r, g, b, a);
System.out.println(color2.asHex());
driver.quit();
}
}
輸出:
Starting ChromeDriver 96.0.4664.45 (76e4c1bb2ab4671b8beba3444e61c0f17584b2fc-refs/branch-heads/4664@{#947}) on port 25710
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Led 06, 2022 3:49:31 ODP. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
#007bff
#007bff
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/404642.html
標籤:
上一篇:無法以我在Javascript中輸入的相同方式讀取阿拉伯語輸入文本的值
下一篇:用不同的分隔符分割字串的某些部分
