硒中.getClass()和.getAttribute(" class")之间有什么区别

时间:2016-05-24 11:51:27

标签: selenium-webdriver

请参阅以下代码

`<div class="datepicker dropdown-menu" style="display: block; top: 301px; left: 308px;">
<div class="datepicker-days" style="display: block;">
<div class="datepicker-months" style="display: none;">
<div class="datepicker-years" style="display: none;">
</div>`

我正在尝试使用classname(datepicker下拉菜单&#34;)获取Div中存在的Div的类名,但它可以使用 wdriver.getAttribute("class").toString();而不是 wdriver.getclass().toString();。谁能告诉我有什么区别?

3 个答案:

答案 0 :(得分:1)

getclass()和getAttribute(&#34; class&#34;)之间存在许多差异

让我举例说明。

首先

getclass() - 返回类型是webelement

getAttribute(&#34; class&#34;) - 返回类型是字符串

例如

    WebDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();

    driver.get("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1#identifier");
    Thread.sleep(4000L);
    WebElement a  = driver.findElement(By.xpath(".//*[@id='next']"));
    String b = a.getAttribute("class");
    System.out.println(b);
    a.getClass();
    System.out.println(a);

html代码

<input id="next" class="rc-button rc-button-submit" type="submit" value="Next" name="signIn"/>

b将打印属性类的值,即&#39; rc-button rc-button-submit&#39;。

虽然getClass()会打印它的xpath。即.// * [@ id =&#39; next&#39;]

希望您现在可以联系到为什么您没有从getClass()获取,因为返回类型不同。随意询问查询。快乐学习: - )

答案 1 :(得分:0)

getClass()Returns the runtime class of this(given element) Object. The returned Class object is the object that is locked by static synchronized methods of the represented class.

getAttribute Get the value of a the given attribute of the element.

答案 2 :(得分:0)

可能意思是:webelement.getAttribute(“class”)。toString()和webelement.getclass()。toString()。

在这种情况下,第一个获取webelement的属性,而第二个获取给定webelement的类。