2011-06-07 52 views
3

使用像(//div[@class='nav']//a)[5]表達式來檢索與硒的特定元素(經由PHPUnit觸發)從未suceeds出於某種原因。硒,XPath的節點集和PHPUnit的

Xpath是有效的,使用其他Xpath表達式可以正常工作,但是一旦Xpath包含配置文件,Selenium服務器(2.0rc2)即使該元素存在也開始返回ERROR: Element (//div[@class='nav']//a)[5] not found.

這是PHP-的webdriver爲硒的限制,是否有某種變通方法(獲得的節點集內的第n個元素)?

乾杯

+1

的[無法在硒獲得第n個節點]可能重複(http://stackoverflow.com/questions/3369342/cant-get-nth-node-in-硒) – edorian 2011-06-07 11:55:16

+0

嘗試'xpath =(// div [@ class ='nav'] // a)[5]'代替。 – hakre 2011-06-07 11:59:29

+0

都能跟得上沒有幫助 – pagid 2011-06-07 12:26:59

回答

1

這是最終的解決方案: 的XPath =(// DIV [@類= '導航'] //一)位置()= 5]

不知道爲什麼[5]沒有工作,可能仍然是PHPUnit的範圍內的事

乾杯

+0

但是否真的在PHPUnit/PHP的問題?可能是問題與硒/ webdriver的。只有這樣,才能找出運行使用Selenium確切命令/測試/ WebDriver與另一種語言,如Java,C#,Ruby,Perl,看看它是否會失敗。我懷疑更多的硒問題,因爲我假設PHP只是將數據傳遞給Selenium進行處理,除非它無意預處理數據。 – David 2011-09-30 23:19:18

1

從話題Can't get nth node in Selenium我看你可以嘗試在前面加上xpath=你的表達得到它的工作。

+0

太糟糕了,但「的XPath =」前面加上它不能幫助這裏:( – pagid 2011-06-07 12:38:43