以下是我试过的这个脚本。
这个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 :(得分:1)
要使用Xpath获取CSS颜色值,您可以使用以下代码:
String color = driver.findElement(By.xpath("//xpath")).getCssValue("color");
它将返回" RGBA"格式为:" rgba(255,255,255,1)"。
答案 1 :(得分:0)
首先,这当然不是写xpath
的有效方式。我测试了你的xpath
,它返回了9个不同的匹配。要查找特定元素的css
颜色值,您的xpath
或任何其他选择器需要非常具体。在那之后getCssValue
并使用任何有效的属性名称,例如color, background-color
,这样会返回您想要的值。除了选择器,你的代码看起来很好。此外,如果要查找xpath
重新调整的所有元素的css值,您可能需要循环并打印每个元素的值。