gpt4 book ai didi

java - Selenium WebDriver - getCssValue() 方法

转载 作者:技术小花猫 更新时间:2023-10-29 11:25:13 24 4
gpt4 key购买 nike

我正在练习使用 cssGetValue 方法从特定 Web 元素的 CSS 属性中检索值。

我有两个问题:

  1. 为什么 cssGetValue 方法返回值 13px,该方法实际引用了哪个 Web 元素。1a.我想获取标记为“按 ID”的部分的 CSS 属性。我应该如何修改我的代码,以便我可以获得 id="by-id"部分的 CSS 属性值?

  2. 我使用了 driver.close() 方法,但它不会在脚本完成后关闭浏览器。请向我解释为什么 driver.close() 方法在这种情况下不起作用。

    这是我的代码片段:

    package wd_findElementBy;

    import java.util.List;

    import org.junit.Test;

    import org.junit.Before;

    import org.junit.After;


    import org.openqa.selenium.By;

    import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.WebElement;

    import org.openqa.selenium.firefox.FirefoxDriver;


    public class SearchWebElements
    {

    WebDriver driver = new FirefoxDriver();
    private String baseUrl= "http://docs.seleniumhq.org/docs/03_webdriver.jsp#introducing-the-selenium-webdriver-api-by-example";

    @Test
    public void findElements(){
    driver.get(baseUrl);

    try{
    List<WebElement> elements = driver.findElements(By.id("by-id"));
    System.out.println("number of elements: " + elements.size());

    for(WebElement ele : elements){
    System.out.println(ele.getTagName());

    System.out.println("get the text for web element with id='by-id' ");
    System.out.println("------------------------------------------------------------");
    System.out.println(ele.getText());
    System.out.println("------------------------------------------------------------");
    System.out.println(ele.getAttribute("id"));
    System.out.println(ele.getCssValue("font-size"));

    }
    }

    finally{
    //driver.close();
    driver.quit();
    }


    }

    }

最佳答案

是的,都正确。

这是通过 Firebug 在何处查找 font-size 的屏幕截图。

enter image description here

由于 id 应该是唯一的(至少对于此页面而言),您不需要 findElements 来查找具有 id by-id 的元素列表并循环,而是使用 findElement 直接获取元素。

try{
WebElement byId = driver.findElement(By.id("by-id"));

System.out.println(byId.getTagName());

System.out.println("get the text for web element with id='by-id' ");
System.out.println("------------------------------------------------------------");
System.out.println(byId.getText());
System.out.println("------------------------------------------------------------");
System.out.println(byId.getAttribute("id"));
System.out.println(byId.getCssValue("font-size"));
}
}

关于java - Selenium WebDriver - getCssValue() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com