Reputation: 4207
I have this below line where I am trying to pass a variable into xpath in PHP.
public function getTheIndexVal($index)
{
$this->click('.//*[@id="js_itemlist"]/li[3]/article/div[$index]/section[1]/ul/li[3]');
}
I am calling the above method like,
this->getTheIndexVal(3);
But the above is throwing an error. Its having $index as it is without substituting the value. This value is being passed as a method argument. I tried the below alternatives. Still no luck.
$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);
How can I achieve this? Any help would be much appreciated.
Upvotes: 0
Views: 69
Reputation: 89285
Use double-quotes for the variable $index
to be correctly substituted with the corresponding value :
public function getTheIndexVal($index)
{
$this->click(".//*[@id='js_itemlist']/li[3]/article/div[$index]/section[1]/ul/li[3]");
}
Upvotes: 1