请参阅以下代码
`<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();
。谁能告诉我有什么区别?
答案 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<mpl=default<mplcache=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的类。