2014-10-10 30 views
0

我試圖獲取從頁面使用driver.findElements(By.xpath所有元素....硒自定義的XPath

在一個頁面中,我們中的XPath隨機產生的,如下圖所示:

//*[@id='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_0']/span 
//*[@id='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_1']/span 
//*[@id='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_2']/span 

等..

我需要計數存在於頁這樣的元件的數量。

我試圖使用XPath /代碼,如下所示。

在* xpath中使用* =;代表以字符開頭。

String MovieCinemas=//*[@id*='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_ 
List<WebElement> elements = driver.findElements(By.xpath("")); 
System.out.println("Number of Elements Found: " + elements.size()); 

我無法產生元素的數量。 此外,還會引發無法查找元素的異常。

回答

0

你可以在你的XPath使用starts-with()函數:

String xpath = "//*[starts-with(@id,'ContentPlaceHolder1_dataListSessionTime_lblCinemasName_')]/span"; 
List<WebElement> elements = driver.findElements(By.xpath(xpath)); 
System.out.println("Number of Elements Found: " + elements.size());