2013-04-30 96 views
0

正則表達式的Selenium java代碼。Selenium java代碼中xpath的正則表達式

的Xpath = "//*[@id='gritter-item-6']/div[2]/div[2]/p"

在上面的XPath 6是變化的,任何一個可以幫助我如何解決這個問題

請給我這個解決方案。

+0

你能粘貼一些html,包含你試圖匹配的元素嗎? – 2013-05-07 12:47:16

回答

6

嘗試使用下面的xpath,我們使用contains關鍵字。

//*[contains(@id, 'gritter-item-')] 
+0

我會非常小心這種方法,因爲它可以輕鬆地匹配任何其他具有相同格式的ID。假設這是一個自動生成的ID,我會說這是真的可能性非常好。 – 2013-04-30 14:53:40

2

爲了更準確,你可以使用starts-with()代替,因爲你的ID是開始特定的字符串。

您可以使用://*[starts-with(@id, 'gritter-item-')]

+0

請注意,像'starts-with'和'ends-with'這樣的函數是XPath 2.0特有的。例如,如果您使用Selenium的Firefox WebDriver,則不支持。 – paulochf 2014-01-09 18:16:52

0

我有同樣的問題,因爲你,是什麼幫助我的是安裝硒IDE和提取「的XPath位置」的位置不動,只要按鈕不改變在頁面上的位置。希望這可以幫助你。 Screenshot