我使用硒的webdriver包裹在PHPUnit的和香腸來測試一下在停航了類似表中特定行的按鈕:獲得從孩子的CSS元素的特定CSS元素id的值
<tr id="dynamically generated 1">
<td class="foo">
<div class="bar"></div>
</td>
<td class = "mybutton">
<span class = "icon clickable"></span>
</td>
</tr>
<tr id="dynamically generated 2">
<td class="foo">
<div class="baz"></div>
</td>
<td class = "mybutton">
<span class = "icon clickable"></span>
</td>
</tr>
我特別想點擊一個特定的元素#mybutton > span.icon.clickable
,其兄弟姐妹.foo
與孩子.baz
。 「其兄弟是.foo
和孩子.baz
」的要求是我目前可以識別正確元素的唯一方法,因爲同一表中的其他行具有元素#mybutton > span.icon.clickable
,並且這些行的ID是動態生成的。
目前我正在使用XPath,但正如您所預料的那樣,FF
和IE
上的性能是可怕的。是否有從元素tr#id div.bar
檢索的tr#id
值的方法?如果我能得到這個,我可以使用id來使用CSS來查找我正在尋找的元素。我使用的是PHP,但任何語言的解決方案都是有用的。
或者,更直接的CSS3的解決方案的工作,但相當多的閱讀之後,我所有,但得出的結論是使用標準的CSS3選擇器是不是這種情況下的選擇。以防萬一我遺失了一些東西,是否有CSS3解決方案?我知道有一個CSS4解決方案,但我需要完整的瀏覽器的支持,所以,直到所有的瀏覽器我測試的支持CSS4,我將不得不依靠CSS3。
在此先感謝。
編輯:直到有用於CSS4更好的跨瀏覽器的支持,我需要使用CSS3
工程很好。對於任何對php解決方案感興趣的人: – Clandestine
對於任何對php解決方案感興趣的人:獲取所有符合條件的元素:'$ elements = $ this-> elements($ this-> using('css selector') - > value ('tr'));'獲取元素列表中某個元素的某個屬性的值:'$ id = $ elements [0] - > attribute('tr#id'); – Clandestine