在Firebug中,我有一个链接内容:
<a id="fwMainContentForm:j_idt156:2:selectRole" class="cb_or_somename cb_area_0219" onclick="jsf.util.chain(this,event,'$(this).attr(\'disabled\', \'disabled\');return true;','mojarra.jsfcljs(document.getElementById(\'fwMainContentForm\'),{\'fwMainContentForm:j_idt156:2:selectRole\':\'fwMainContentForm:j_idt156:2:selectRole\'},\'\')');return false" href="#">Somename</a>
如何使用“classname”访问链接(点击它)?
我尝试了以下内容:
WebElement rolle = driver.findElement(By.className("cb_or_somename cb_area_0219"));
但我收到错误:
线程“main”中的异常
org.openqa.selenium.InvalidSelectorException:给定的选择器cb_or_somename cb_area_0219无效或不会产生WebElement。
发生以下错误: InvalidSelectorError:不允许使用复合类名
答案 0 :(得分:0)
cb_or_somename cb_area_0219
实际上是两个类。 By.className
可以收到其中一个
WebElement rolle = driver.findElement(By.className("cb_or_somename"));
// or
WebElement rolle = driver.findElement(By.className("cb_area_0219"));
如果要使用cssSelector
WebElement rolle = driver.findElement(By.cssSelector(".cb_or_somename.cb_area_0219"));
答案 1 :(得分:0)
要使用这两个类查找元素,可以使用xpath而不是className。
WebElement rolle = driver.findElement(By.xpath("//*[contains(@class,'cb_or_somename cb_area_0219')]"));