2014-05-01 146 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']")); 
相關問題