2011-05-24 95 views
0

我嘗試使用下面的代碼的複選框,單擊動態字符串值:請問硒2.0支持By.xpath

字符串PODID =「'微軟 - 畫廊 - 影片箱-料盒」 + podId.substring(3) + 「'」;

driver.findElement(By.xpath("id(" + podID + ")")).click(); 

org.openqa.selenium.NoSuchElementException:無法找到元素:{ 「方法」: 「的xpath」, 「選擇器」: 「ID( '微軟畫廊-影片箱-POD-15423100')」} 系統信息:os.name: 'Windows 7的',os.arch: '86',os.vers

當我運行下面的代碼,它工作正常:

driver.findElement(By.xpath(」 ID( '微軟 - 畫廊 - 影片箱-POD-15424100')「))點擊()。

任何想法爲什麼第一個代碼不起作用?

回答

0

您展示這兩個ID不相同(末尾數字是不同的):

microsoft-gallery-clipbox-pod-15423100 

microsoft-gallery-clipbox-pod-15424100 

這會有問題嗎?

0

我會嘗試使用以下:

String podID = "microsoft-gallery-clipbox-pod-" + podId.substring(3); 
driver.findElement(By.xpath("//*[@id='" + podID + "']")).click();