Ниже приведен сценарий, который я пробовал.
В чем смысл этого 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();
}
}
Чтобы получить значение цвета CSS с помощью Xpath, вы можете использовать этот код:
String color = driver.findElement(By.xpath("//xpath")).getCssValue("color");
Он будет возвращать выходной сигнал в формате "RGBA" следующим образом: "rgba (255, 255, 255, 1)".
Прежде всего, это, конечно, не эффективный способ писать xpath
. Я проверил ваш xpath
и он возвращает 9 различных совпадений. Чтобы найти значение цвета css
для определенного элемента, ваш xpath
или любой другой селектор должны быть очень конкретными. После этого getCssValue
и с любым допустимым именем свойства, таким как color, background-color
и т. getCssValue
, getCssValue
значение. Ваш код выглядит отлично, кроме селектора. Кроме того, если вы хотите найти значения css для всех элементов, которые будут перенастроены по xpath
вы можете запрограммировать и распечатать значения каждого из них.