java - सेलेनियम वेब ड्रिवर को सीमा रंग मिलता है




css extjs selenium selenium-webdriver (3)

फ़ायरफ़ॉक्स ड्राइवर का उपयोग करके element.getCssValue ("border-color") के साथ एक समस्या हो सकती है। यह शेरथैड सीएसएस गुणों (जैसे मार्जिन, पृष्ठभूमि, सीमा) के कारण है, समर्थित नहीं है।

फ़ायरफ़ॉक्स के लिए आपको प्रवेश करना होगा

System.out.println("'"+element.getCssValue("border-top-color")+"'");

कोड 'आरजीबीए (207, 76, 53, 1) प्रिंट होगा '

अपना मूल्य प्राप्त करने के लिए एक ChromeDriver का उपयोग करना

आपका वर्तमान कोड 'आरजीबी (207, 76, 53)' प्रिंट करेगा

अपने ड्रायवर को घोषित करने से पहले आपको इस लाइन को जोड़ने की आवश्यकता हो सकती है

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver.exe");
WebDriver driver=new ChromeDriver();

आप यहां से Chrome ड्रिवर डाउनलोड कर सकते हैं http://chromedriver.storage.googleapis.com/index.html

हाय सब मैं एक extjs के सीमा रंग प्राप्त करने की कोशिश कर रहा हूँ 4.2 form control text field getCssValue विधि का उपयोग कर। लेकिन मैं इसे लाने में सक्षम नहीं हूं। यह मुझे रिक्त वापस कर रहा है नीचे मेरा कोड स्निपेट है I इस तरह से कोशिश कर रहा है।

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class TestClass 
{
    public static void main(String[] args) throws InterruptedException
    {
        WebDriver driver=new FirefoxDriver();
        Thread.sleep(2000);
        driver.get("http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/form/dynamic.html");
        Thread.sleep(2000);
        WebElement element=driver.findElement(By.xpath(".//input[@name='first']"));
        Thread.sleep(2000);
        element.sendKeys("");
        element.sendKeys(Keys.TAB);
        Thread.sleep(2000);
        System.out.println("'"+element.getCssValue("border-color")+"'");
    }
}

वेबड्राइवर संस्करण 2.33 (जावा बाइंडिंग)

एफएफ 22


कैसे सीमा रंग या अन्य सीएसएस मूल्यों को प्राप्त करने के लिए गणना में देखो वहाँ सभी मान हैं जो आप प्राप्त कर सकते हैं:

getCssValue("border-bottom-color")

रिटर्न आरजीबीए (20 9, 21 9, 223, 1) और इसे साफ़ करने की आवश्यकता है (यह आरजीबीए और आरजीबी के लिए काम करेगा):

String rgb[] = driver.findElement(By.name("login[email]")).getCssValue("border-bottom-color").replaceAll("(rgba)|(rgb)|(\\()|(\\s)|(\\))","").split(",");

अब हमारी आरजीबी इस पद्धति का उपयोग करके इसे पार्स करने के लिए सरणी में है

String hex = String.format("#%s%s%s", toBrowserHexValue(Integer.parseInt(rgb[0])), toBrowserHexValue(Integer.parseInt(rgb[1])), toBrowserHexValue(Integer.parseInt(rgb[2])));

private static String toBrowserHexValue(int number) {
        StringBuilder builder = new StringBuilder(Integer.toHexString(number & 0xff));
        while (builder.length() < 2) {
            builder.append("0");
        }
        return builder.toString().toUpperCase();
    }

इस आरजीबीए (20 9, 21 9, 223, 1) से हमें यह # डी 1 डीबीडीएफ मिला है

हेक्स के लिए इंट आरजीबी को पार्स करने का पुनश्च स्रोत


iframe src="XXXXXXXXXXXXXXX"
marginwidth="0" marginheight="0" width="xxx" height="xxx"

फ़ायरफ़ॉक्स के साथ काम करता है;)







java css extjs selenium selenium-webdriver