我是硒测试的新手。我想用selenium获取css类名。我正在使用eclipse和Java进行开发。
<table >
<tr class="odd"><td>Odd row</td></tr>
<tr class="even"><td>Even row</td></tr>
<tr class="odd"><td>Odd row2</td></tr>
<tr class="even"><td>Even row2</td></tr>
</table>
有没有办法让使用selenium的类名'奇数'或'偶数'?我
答案 0 :(得分:57)
从WebElement
您可以使用getAttribute
方法,如下所示:
element.getAttribute("class")
答案 1 :(得分:15)
是的,您可以根据您的要求使用getAttribute(attributeLocator)
功能。
selenium.getAttribute(//xpath@class);
指定要了解其类的元素的Xpath。
感谢。
答案 2 :(得分:5)
没有任何东西取决于eclipse或java,事实上它更多的是关于位置策略。 如果要使用/不使用css类访问特定的tr元素,可以使用 css定位器:
css=tr:nth(indx_base_0)
第
css=tr.odd:nth(indx_base_0)
第一行,类奇数
css=tr.odd
使用xpath:
//tr[index_base_1]
第一行,类奇数
//tr[@class='odd']
第奇数
的第n行//tr[@class='odd'][index_base_1]
以下是一些useful examples
答案 3 :(得分:5)
在代码片段的上下文中,假设您想要获得课程&#34; odd&#34;表格中的第一行。
您可以按照以下步骤操作:
(注意: - 假设您的网页中有一个表格)
1- 首先获取元素:
WebElement ele = driver.findElement(By.xpath("//table/tr[1]"));上面的代码使用xpath来获取元素,即表的第一行。
2- 然后,获取属性&#34; class&#34;使用&#34; getAttribute&#34;方法强>
String class_name = ele.getAttribute("class");上面的代码将获取&#34;类&#34;相关元素的名称并将其分配给String变量&#34; class_name&#34;供进一步使用
同样,为了获得&#34;甚至&#34; class,这是第四行表的属性,你可以使用下面的代码:
ele = driver.findElement(By.xpath("//table/tr[4]")); class_name = ele.getAttribute("class");
答案 4 :(得分:1)
如果CSS是您的要求,并且没有其他/差异化元素属性,请尝试以下(在示例中,我使用了简单的文本断言):
assertEquals(selenium.getText("css=tr.odd > td"), "Odd row");
assertEquals(selenium.getText("css=tr.even > td"), "Even row");
assertEquals(selenium.getText("//tr[3]/td"), "Odd row2");
assertEquals(selenium.getText("//tr[4]/td"), "Even row2");
答案 5 :(得分:0)
使用Selenium使用C#获取CSS类名:
string _className;
IWebElement _ele = _driver.FindElement(By.Xpath("Xpath of Element"));
_className = _ele.GetAttribute("AttributeName Here");