2017-05-19 68 views
0

我有這下面的線,我想在PHP中傳遞一個變量到XPath。傳遞一個PHP變量到XPath不工作

public function getTheIndexVal($index) 
{ 
    $this->click('.//*[@id="js_itemlist"]/li[3]/article/div[$index]/section[1]/ul/li[3]'); 
} 

我打電話上述方法類似,

this->getTheIndexVal(3); 

但上述拋出一個錯誤。它具有美元指數,而不會取代價值。該值作爲方法參數傳遞。我嘗試了下面的選擇。仍然沒有運氣。

$this->waitForElement('.//*[@id="js_itemlist"]/li['.$index.']/article/div[3]/div/div[1]', 30); 

$this->waitForElement('.//*[@id="js_itemlist"]/li['{$index}']/article/div[3]/div/div[1]', 30); 

我該如何做到這一點?任何幫助將非常感激。

+0

是否$指數有什麼價值?如果是的話,用直接值替換$ index並調試它... – Naga

+0

是的我可以在控制檯上打印它。我用我確切的東西編輯了這個問題。 – mayooran

回答

1

使用雙引號的變量$index被正確替換爲相應的值:

public function getTheIndexVal($index) 
{ 
    $this->click(".//*[@id='js_itemlist']/li[3]/article/div[$index]/section[1]/ul/li[3]"); 
}