2014-11-22 1 views
1

Ниже приведен сценарий, который я пробовал.Как получить значение цвета CSS с помощью Xpath?

  1. Как мы можем определить элемент с и получить значение цвета CSS с помощью этого XPath?
  2. В чем смысл этого Xpath?

    package mypackage;  
    import org.openqa.selenium.*; 
    import org.openqa.selenium.firefox.FirefoxDriver;  
    import org.openqa.selenium.interactions.Action; 
    import org.openqa.selenium.interactions.Actions; 
    
    public class myclass { 
    
         public static void main(String[] args) { 
         String baseUrl = "http://newtours.demoaut.com/"; 
         WebDriver driver = new FirefoxDriver(); 
    
         driver.get(baseUrl); 
         WebElement link_Home = driver.findElement(By.linkText("Home")); 
         WebElement td_Home = driver 
         .findElement(By 
         .xpath("//html/body/div" 
         + "/table/tbody/tr/td" 
         + "/table/tbody/tr/td" 
         + "/table/tbody/tr/td" 
         + "/table/tbody/tr")); 
    
         Actions builder = new Actions(driver); 
         Action mouseOverHome = builder 
         .moveToElement(link_Home) 
         .build(); 
    
         String bgColor = td_Home.getCssValue("background-color"); 
         System.out.println("Before hover: " + bgColor); 
         mouseOverHome.perform(); 
         bgColor = td_Home.getCssValue("background-color"); 
         System.out.println("After hover: " + bgColor); 
         driver.quit(); 
        } 
    } 
    
+0

Можете ли вы уточнить, что именно вы хотите знать? Потому что простой поиск в Google расскажет вам все о xpath. – Subh

ответ

1

Чтобы получить значение цвета CSS с помощью Xpath, вы можете использовать этот код:

String color = driver.findElement(By.xpath("//xpath")).getCssValue("color"); 

Он возвращает результаты в формате "RGBA", как: «RGBA (255, 255, 255, 1) ".

0

Прежде всего, это, конечно, не эффективный способ написать xpath. Я проверил ваш xpath и он возвращает 9 различных совпадений. Чтобы найти css значение цвета конкретного элемента xpath или любое другое селектор должен быть очень конкретным. После этого getCssValue и с любым допустимым именем свойства, таким как color, background-color, и это вернет вам желаемое значение. Ваш код выглядит отлично, кроме селектора. Кроме того, если вы хотите найти значения css для всех элементов, которые должны быть перенастроены в xpath, вы можете запрограммировать и распечатать значения каждого из них. enter image description here