2014-05-01 150 views
0

我有这样硒webdriver的,无法选择元素

<td class="select", dataId="12o312p3o"> <span> 
    <a>something</a> </span> </td> 

的HTML和许多相同的TD-S的,只是数据ID是不同的。我想通过dataID选择td,但是找不到一个方法来完成它。 我使用硒webdriver。这是可能的,如果是 - 我怎么能这样做?

+0

您的Html本身存在问题。 ' 东西 ' – Neil

+0

的HTML是正确的,可能是我输入错了。问题是,我可以通过dataID选择td吗? – Trendo

回答

0

如果溶液中提供上述被不工作,你可以写一些自定义 websdriver + Java代码,如:

WebElement e = driver.findElement(By.xpath("//td[@class='select']")); 
String s = e.getAttribute("dataId"); 
if(s.equals("12o312p3o"){ 
//do something 
} else { 
//do something different 
} 
+0

谢谢大家。问题出在一个iframe中,我没有看到:)我的错。再次感谢你。 – Trendo

0

当然可以。如下使用XPath:

WebElement elem = driver.findElement(By.xpath("//td[@data-Id='12o312p3o']")); 
+0

我试过这个,但它不工作。 – Trendo

1

要寻找元素有data-id与价值12o312p3o: -

使用CSS Selector-

driver.findElement(By.cssSelector("td[data-id=12o312p3o]")); 

通过X-路径 -

driver.findElement(By.xpath("//td[@data-id='120312p30']")); 

要寻找元素具有与data-id12o312p3oclass作为select: -

使用CSS Selector-

driver.findElement(By.cssSelector("td.select[data-id=12o312p3o]")); 

通过X-路径 -

driver.findElement(By.xpath("//td[@data-id='120312p30' and @class='select']")); 
相关问题