2012-08-28 48 views
62

我有一個問題。 我有內容是這樣的:CSS選擇器(id包含文本的一部分)

<a>元素編號= someGenerated一些:相同:0:命名

<a>元素編號= someGenerated一些:相同:0:姓

<a>元素編號= someGenerated一些:相同:1:命名

<a>與id元素= someGenerated一些:相同:1:姓

我需要CSS選擇器來獲取名稱。問題是我不知道如何得到它。 我試過a[id*='Some:Same'] - 它返回所有<a>元素。在我可以獲得id以名字結尾的元素之後。但我不喜歡這個想法。我認爲可以用其他選擇器來完成。

+0

我不能添加真實的例子,因爲保密政策:( – TarasLviv

+0

但我可以用其他方式解釋它。Id屬性包含下一個:一些生成的字符+一些靜態字符+:elementIndexInTable:+列名稱 – TarasLviv

回答

89

試試這個:

a[id*='Some:Same'][id$='name'] 

這將讓你的所有a元素包含

ID某些:同

,並在

結束ID

nam e

+0

嗯,id *對我來說並不適用,它說不能評估爲web元素,我用它來查找id爲''的iframe。 /driver.findElements(By.xpath(「// iframe [contains(@id *,'FrameID')]」))。size();'其中FrameID是開始部分。 id,'Some:Same')並且包含(@ id,'name')]'爲我做了訣竅,所以+1給你配對 – anujin

+2

你應該從這個答案中移除XPath選擇器,它不會添加任何東西,只會淹沒水域 – Liam

5

我看到的唯一選擇是a[id$="name"](所有鏈接的ID由「名稱」完成),但它不像它應該那樣限制。