2015-05-19 51 views
2
<td role="gridcell" style="text-align: right; font-size: 13px" id="text_active_cell" class=""><span id="spanid"><span style="cursor:pointer;" data-row="[{&quot;Column&quot;: &quot;ID&quot;, &quot;Value&quot;: &quot;3844 &quot;}]" data-assigned-route="Wise" data-trackmode="aa" class="clsUps text-center clr-blue">15<span></span></span></span></td> 

計數15置於<span>內,<span>標籤放置在裏面<td>。它可以在應用程序中鏈接。所以,我必須編寫硒腳本來點擊鏈接。編寫click事件在<span>標籤和鏈接​​

我試圖寫下面幾行,但它是無效的。

driver.findElement(By.id("text_active_cell").findElements(By.className("clsUps text-center clr-blue")).click()); 

我是新來的webdriver。請幫助我。

回答

1

試試這個。首先將變量計數分配給spanid內的嵌套範圍。然後使用click()單擊該元素。

WebElement count = driver.findElement(By.xpath(".//*[@id='spanid']/span")); 
count.click(); 

編輯:只是意識到你使用JavaScript,但上面的xpath仍然會選擇所需的元素。

+0

它拋出一個異常錯誤,讀爲「main」org.openqa.selenium.ElementNotVisibleException:元素不可見 –

+0

檢查[this](http://www.utilities-online.info/xpath/?save= 0441625d-23ba-4609-baba-f20866442af1-xpath#.VVsKSZOOzEY),xpath選擇文本「15」。 – Cathal

+0

測試應用程序有Kindo網格(類似於excel),每個單元包含重定向到另一個頁面的鏈接。我已經採用相對路徑而不是使用selenium IDE的絕對路徑。例如: - 絕對路徑是「.//*[@id='spanid']/span」,而是嘗試使用相對路徑「// tr [5]/td [8]/span/span」。我得到了輸出。謝謝你的幫助 –

0

您還可以使用CSS選擇器:

WebElement count = driver.findElement(By.cssSelector("#spanid > span")); 
count.click(); 

希望有所幫助。通過文字

0

使用鏈接找到

wd.findElement(By.linkText("15")).click(); 
0

使用使用Kindo格(類似於Excel)中每個單元包含鏈接重定向到另一頁

WebElement count = driver.findElement(By.xpath("//span[@id='spanid']/span")); 
count.click(); 
0

我的測試應用程序。

我已經採用了相對路徑而不是使用selenium IDE的絕對路徑。

例如: - 絕對路徑是「.//*[@id='spanid']/span」,而我嘗試了相對路徑「// tr [5]/td [8]/span /跨度」。

我得到了輸出。謝謝